R 按行平均,不考虑负值
我需要为我的数据集的单个单元计算变量之间的平均值。 但是,在做这件事的时候,我不需要考虑一些价值。 为了更好地解释,假设有两个单位和三个变量:R 按行平均,不考虑负值,r,selection,average,R,Selection,Average,我需要为我的数据集的单个单元计算变量之间的平均值。 但是,在做这件事的时候,我不需要考虑一些价值。 为了更好地解释,假设有两个单位和三个变量: V1 V2 V3 [1] 3 -2 4 [2] -1 4 1 您希望按行计算平均值,而不考虑这些负值: =>平均值(1row)=(3+4)/2 =>平均值(2row)=(4+1)/2 谁能告诉我在R里做这件事的命令吗 非常感谢使用应用函数获取每行的平均值,规定值必须大于0 df=da
V1 V2 V3
[1] 3 -2 4
[2] -1 4 1
您希望按行计算平均值,而不考虑这些负值:
=>平均值(1row)=(3+4)/2
=>平均值(2row)=(4+1)/2
谁能告诉我在R里做这件事的命令吗
非常感谢使用应用函数获取每行的平均值,规定值必须大于0
df=data.frame(V1=c(3,-1),V2=c(-2,4),V3=c(4,1));df
apply(df,1,function(x) mean(x[x>0]))
另一个解决方案是,
is.na(df)na
是你的朋友:-)。还请注意,如果您希望对“所需”子集执行其他操作,Joshua的方法会给您留下一个没有负值的数据帧。