我有一列连续值,大约从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的新人:(
谢谢
答案 0 :(得分:0)
有几种方法可以做到这一点。但首先,你想要的是data.frame(甚至更好的data.table或tbl),因为你现在正在处理不同类型的东西。计数是数字,范围是因子。
要轻松计算,请使用table
,然后将其放入data.frame
count_bins <- table(binned)
catfreq <- data.frame(count_bins)
或者,您可以出于各种原因将data.frame
替换为我更喜欢的data.table
。