如何按组查找非零值的均值?

时间:2015-11-06 20:02:48

标签: r sum data.table

我希望按多个列的组找到非零值的平均值:

mydata<- data[, lapply(.SD, function(x) mean(x, na.rm=TRUE)), by=group, 
                        .SDcols=c("col1", "col2")]

我应该在上面的代码中添加什么内容?

1 个答案:

答案 0 :(得分:3)

我们为x[x!=0]中指定的每个列配置非0(.SDcols)的元素,并通过'group'获取mean

data[, lapply(.SD, function(x) mean(x[x!=0], na.rm=TRUE)), by =group,
                 .SDcols= c('col1', 'col2')]