这实际上是两个问题。我正在尝试使用data.table软件包对大型数据集进行汇总。假设我的原始大型数据集是df1,不幸的是df1有50列(y0... y49),我想按3个字段(segmentfield1、segmentfield2、segmentfield3)对它们求和。有没有比逐个输入y0...y49列更简单的方法?与此相关的是,是否有data.table的通用na.rm=T选项,而不需要在每个sum中输入它?
dt1 <- data.table(df1)
setkey(dt1, segmentfield1, segmentfield2, segmentfield3)
dt2 <- dt1[,list( y0=sum(y0,na.rm=T), y1=sum(y1,na.rm=T), y2=sum(y2,na.rm=T), ...
y49=sum(y49,na.rm=T) ),
by=list(segmentfield1, segmentfield2, segmentfield3)]