如何计算R中数据帧中每一行的非零元素的均值

时间:2019-02-27 11:37:27

标签: r rows mean

我想为每一行计算非零元素的均值。以下是示例数据集

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。

2 个答案:

答案 0 :(得分:3)

我们用replace NA将'0'用作na.rm的{​​{1}}参数

rowMeans

答案 1 :(得分:2)

这是一个简单的解决方案:

apply(data,1,function(x) mean(x[x!=0]))