【发布时间】:2014-12-27 13:26:52
【问题描述】:
我刚开始学习 R,所以我的问题可能非常荒谬。我有一个数据框
data<- data.frame('number'=1:11, 'col1'=sample(10:20),'col2'=sample(10:20),'col3'=sample(10:20),'col4'=sample(10:20),'col5'=sample(10:20), 'date'= c('12-12-2014','12-11-2014','12-10-2014','12-09-2014', '12-08-2014','12-07-2014','12-06-2014','12-05-2014','12-04-2014', '12-04-2014', '12-03-2014') )
数字列是“id”列,最后一列是日期。 我想计算每个数字出现的次数(不是每列,而是包含数据的整个数据框)列 2:6 以及它们发生的时间。 我被困在第一部分,使用 data.table 尝试了以下内容:
count <- function(){
i = 1
DT <-data.table(data[2:6])
for (i in 10:20){
DT[, .N, by =i]
i = i + 1
}
}
这给出了一个我无法理解的错误
Error in `[.data.table`(DT, , .N, by = i) :
The items in the 'by' or 'keyby' list are length (1). Each must be same length as rows in x or number of rows returned by i (11)
请有人帮忙。还有我还没有尝试过的第二部分,即将日期或行号与每次出现的数字相关联
【问题讨论】:
标签: r dataframe data.table