对列求和并除以r中行中的非零值数
我希望聚合(求和)列,然后将聚合除以每行中非零值的数量。对列求和并除以r中行中的非零值数,r,sum,aggregate,R,Sum,Aggregate,我希望聚合(求和)列,然后将聚合除以每行中非零值的数量。 样本数据: col 1 col 2 col 3 0 0 0 0 0 0 0.5 0.5 0 0 0.25 0 0.583 0.583 0.583 预期输出: sum 0 0 0.5 0.25 0.58
样本数据
:
col 1 col 2 col 3
0 0 0
0 0 0
0.5 0.5 0
0 0.25 0
0.583 0.583 0.583
预期输出:
sum
0
0
0.5
0.25
0.583
感谢您提供有关如何在r中执行此操作的任何提示
干杯
df <- read.table(text="0 0 0
0 0 0
0.5 0.5 0
0 0.25 0
0.583 0.583 0.583")
df2 <- data.frame(results=apply(df,1,function(x){
ifelse(any(x!=0),sum(x)/length(x[x!=0]),0)}))
df2
results
1 0.000
2 0.000
3 0.500
4 0.250
5 0.583