【发布时间】:2012-09-11 06:19:14
【问题描述】:
我无法想象我是第一个提出这个问题的人,但我还没有找到解决方案(这里或其他地方)。
我有几列,我想在 R 中对其进行平均。唯一最棘手的方面是某些列包含 NA。
例如:
Trait Col1 Col2 Col3
DF 23 NA 23
DG 2 2 2
DH NA 9 9
我想创建一个 Col4 来平均前 3 列中的条目,忽略 NA。 所以:
Trait Col1 Col2 Col3 Col4
DF 23 NA 23 23
DG 2 2 2 2
DH NA 9 9 9
理想情况下这样的事情会起作用:
data$Col4 <- mean(data$Chr1, data$Chr2, data$Chr3, na.rm=TRUE)
但事实并非如此。
【问题讨论】:
-
?rowMeans应该为你做。它主要是apply(..., 1, mean)的包装器。 -
不正确,它是 apply() 的包装器。众所周知,它的速度要快得多。