R группировка данных с факторами и уровнями - PullRequest
3 голосов
/ 11 декабря 2011

Я пытаюсь создать таблицу частот, которая группирует значения в ограниченное число бинов.

Скажем, у меня есть данные

X <- c(1,2,3,4,3,9, 20)

Я могу создать таблицу частот так, чтобыон показывает все пустые ячейки следующим образом:

(factor(X, levels = c(0:max(X))))

Вместо того, чтобы показывать частоту каждого возможного значения, я хотел бы задать значения >5, чтобы уровни в таблице были: 0, 1, 2, 3, 4, 5, and >5.

Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 11 декабря 2011

Сначала необходимо преобразовать вектор так, чтобы он имел уникальную запись для, затем вы можете добавить недостающие уровни в функцию factor():

X <- c(1,2,3,4,3,9,20)
X <- ifelse(X>5,">5",X)
X <- factor(X,levels=c(0:5,">5"))

В результате:

X [1] 1 2 3 4 3> 5> 5 уровней: 0 1 2 3 4 5> 5

1 голос
/ 11 декабря 2011

Саша уже дал вам рабочий ответ, но для дальнейшего использования вы можете ознакомиться с функцией cut, которая предназначена для разбиения непрерывной переменной на куски.

x <- cut(x, c(-Inf, 0:5, Inf), labels=c(0:5, ">5"))
...