我想为每一行计算非零元素的均值。以下是示例数据集
data=data.frame(x1=c(8,0,9),x2=c(0,0,10),x3=c(16,10,2))
data
x1 x2 x3
8 0 16
0 0 10
9 10 2
期望的结果将是
mean
12
10
7
谢谢。
否:getting column means for non zero data
我确实尝试过,但是它不起作用,因为当我转换为NA值时,平均值将为NA。
答案 0 :(得分:3)
我们用replace
NA
将'0'用作na.rm
的{{1}}参数
rowMeans
答案 1 :(得分:2)
这是一个简单的解决方案:
apply(data,1,function(x) mean(x[x!=0]))