我想生成一个列子集之间差异平均值的列.假设我有以下数据集:
set.seed(123)
df <- data.frame( y = runif(1:10),
x1 = runif(1:10),
x2 = runif(1:10),
x3 = runif(1:10))
df[, "x1"][ df[, "x1"] < 0.5 ] <- NA
df[, "x3"][ df[, "x3"] > 0.7 ] <- NA
df
y x1 x2 x3
1 0.2875775 0.9568333 0.8895393 NA
2 0.7883051 NA 0.6928034 NA
3 0.4089769 0.6775706 0.6405068 0.69070528
4 0.8830174 0.5726334 0.9942698 NA
5 0.9404673 NA 0.6557058 0.02461368
6 0.0455565 0.8998250 0.7085305 0.47779597
7 0.5281055 NA 0.5440660 NA
8 0.8924190 NA 0.5941420 0.21640794
9 0.5514350 NA 0.2891597 0.31818101
10 0.4566147 0.9545036 0.1471136 0.23162579
因此,在本例中,我希望得到((x1-y)+(x2-y)+(x3-y))/(X的个数).由于缺少值,这会变得有点复杂,并不是所有的行都会得到相同的计算. 例如,第1行的值将计算((x1-y)+(x2-y))/2,而第7行应该只计算(x2-y)/1,因为只有一个值.我怎样才能读到这个专栏?如果你需要更多的澄清,请告诉我.