我希望能够对包含缺失值的数据框中的每一行进行多列均值计算,并将结果放入名为“means”的新列中。以下是我的数据框:
df <- data.frame(A=c(3,4,5),B=c(0,6,8),C=c(9,NA,1))
A B C
1 3 0 9
2 4 6 NA
3 5 8 1
如果列没有缺失值,例如列A和B,则下面的代码可以成功完成任务。
library(dplyr)
df %>%
rowwise() %>%
mutate(means=mean(A:B, na.rm=T))
A B C means
<dbl> <dbl> <dbl> <dbl>
1 3 0 9 1.5
2 4 6 NA 5.0
3 5 8 1 6.5
然而,如果一列存在缺失值,例如C列,则会出现错误:
> df %>% rowwise() %>% mutate(means=mean(A:C, na.rm=T))
Error: NA/NaN argument
理想情况下,我希望使用dplyr实现。
rowwise
也是出了名的慢。 - eipi10