我有一个包含60列的数据框 第53列导致它复制,因为它有多个数字 我希望将第53列的最大数量和其他所有内容分组 我的代码在
之下DT[,max(fee),by = DT[,-53]]
我收到以下错误
Error in `[.data.frame`(DT, , max(fee), by = DT[, :
unused argument (by = OPMS.shps[, -53])
我也尝试了data.table - group by all except one column概述的建议但是引发了相同的错误
任何人都可以看到问题所在吗?
答案 0 :(得分:2)
我们需要在执行data.frame
方法之前将data.table
转换为data.table
。即setDT(DT)
。
setDT(DT)[, max(fee), by=setdiff(names(DT), 'fee')]
DT <- data.frame(col1= c('a', 'a', 'b', 'b'),
col2= rep(1:2, each=2), fee= c(1,5,3,2))