将因子转换为R中的2列矩阵

时间:2016-10-12 17:40:51

标签: categorical-data matrix

我有一列连续值,大约从0到21600。

我试图将这些数据分类到100的范围内并获得它们的频率,例如: [0,100) - 35,[100,200] - 57,等等。

我正在做的是:

binned< - cut(x,breaks = c(0,seq(100,21600,by = 100)))

我得到范围内的数据,例如(7.5e + 03,7.6e + 03](1.8e + 03,1.9e + 03)(1e + 03,1.1e + 03)(1.1e + 03, 1.2e + 03](100,200)......等等

我现在想要的是获得两列的矩阵,第一列具有类别(范围如[0,100),[100,200],第二列具有频率

任何人都可以帮助我吗?这可能是微不足道的,但我是R的新人:(

谢谢

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。但首先,你想要的是data.frame(甚至更好的data.table或tbl),因为你现在正在处理不同类型的东西。计数是数字,范围是因子。

要轻松计算,请使用table,然后将其放入data.frame

count_bins <- table(binned)
catfreq <- data.frame(count_bins)

或者,您可以出于各种原因将data.frame替换为我更喜欢的data.table