我需要计算我的数据集的单个单位的变量之间的平均值。 但是,在这样做的时候,我需要不考虑一些价值观。 为了更好地解释,想想有两个单元和三个变量:
V1 V2 V3
[1] 3 -2 4
[2] -1 4 1
并且您希望按行计算平均值,而不考虑这些负值:
=>平均值(1row)=(3 + 4)/ 2
=> mean(2row)=(4 + 1)/ 2
有人可以在R中给我命令吗?
非常感谢
答案 0 :(得分:7)
使用apply函数取每行的平均值,并规定值必须大于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]))