如何计算r中数据帧中每行非零元素的平均值
我想计算每行非零元素的平均值。下面是一个示例数据集如何计算r中数据帧中每行非零元素的平均值,r,rows,mean,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 多谢各位 不是: 我确实尝试过,但它不起作用,因为当我转换为NA值时,平均值将为NA。我们将0替换为NA,并使用rowMeans中的NA.rm参数 rowMeans(replace(data,
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
多谢各位
不是:
我确实尝试过,但它不起作用,因为当我转换为NA值时,平均值将为NA。我们
将0替换为NA
,并使用rowMeans
中的NA.rm
参数
rowMeans(replace(data, data == 0, NA), na.rm = TRUE)
#[1] 12 10 7
我们将中的“0”替换为NA
,并使用rowMeans中的NA.rm
参数
rowMeans(replace(data, data == 0, NA), na.rm = TRUE)
#[1] 12 10 7
以下是一个简单的解决方案:
apply(data,1,function(x) mean(x[x!=0]))
以下是一个简单的解决方案:
apply(data,1,function(x) mean(x[x!=0]))