我想从数据集中前3列的每个值中减go 每个"空白"列的平均值,该数据集看起来像这样:
df <- data.frame(da=1:5, d2=6:10, dd=2:6,
blank...1=c(0.1, 0.1, 0.4, 0.2, 0.1), d5=2:6, dg=7:11,
di=3:7, blank...2=c(0.2, 0.2, 0.4, 0.1, 0.1), dm=21:25,
h4=5:9, d7=26:30, blank...3=c(0.1, 0.3, 0.4, 0.4, 0.1))
df
# da d2 dd blank...1 d5 dg di blank...2 dm h4 d7 blank...3
# 1 1 6 2 0.1 2 7 3 0.2 21 5 26 0.1
# 2 2 7 3 0.1 3 8 4 0.2 22 6 27 0.3
# 3 3 8 4 0.4 4 9 5 0.4 23 7 28 0.4
# 4 4 9 5 0.2 5 10 6 0.1 24 8 29 0.4
# 5 5 10 6 0.1 6 11 7 0.1 25 9 30 0.1
换句话说,我想将第da、d2和dd列的每个值减go blank...1的平均值;然后将第d5、dg和di列的每个值减go blank...2的平均值等等.实际数据集实际上有15个空白需要从前11列中减go .
我已经使用colMeans
生成了一个vector中所有"空白"列的平均值,但我不知道如何编写该函数来指示哪个值用于哪些列.
如何通过功能实现这一点?