Включить уровни нулевого счета в результат таблицы () - PullRequest
35 голосов
/ 24 октября 2009

У меня вектор целых чисел от 0 до 5. Я хочу вычислить гистограмму отсчетов. Например:

y <- c(0, 0, 1, 3, 4, 4)
table(y)
# y
# 0 1 3 4 
# 2 1 1 2 

Однако я также хочу, чтобы результаты включали тот факт, что есть ноль 2 и ноль 5, т.е. Я хочу, чтобы возвращаемый вектор имел длину 6. Могу ли я использовать table() для этого?

Желаемый результат:

# y
# 0 1 2 3 4 5 
# 2 1 0 1 2 0

1 Ответ

48 голосов
/ 24 октября 2009

Преобразуйте вашу переменную в factor и установите категории, которые вы хотите включить в результат, используя levels. Значения с нулевым счетом также появятся в результате:

y <- c(0, 0, 1, 3, 4, 4)
table(factor(y, levels = 0:5))
# 0 1 2 3 4 5 
# 2 1 0 1 2 0 
...