本文介绍了dplyr - 像 rowmeans() 一样使用 mutate()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在任何地方都找不到答案.
I can't find the answer anywhere.
我想根据行的平均值计算数据框的新变量.
I would like to calculate new variable of data frame which is based on mean of rows.
例如:
data <- data.frame(id=c(101,102,103), a=c(1,2,3), b=c(2,2,2), c=c(3,3,3))
我想使用 mutate 来创建变量 d,它是 a、b 和 c 的平均值.我希望能够通过以 d=mean(a,b,c) 的方式选择列来实现这一点,而且我还需要使用变量范围(如在 dplyr 中)d=mean(a:c).
I want to use mutate to make variable d which is mean of a,b and c. And I would like to be able to make that by selecting columns in way d=mean(a,b,c), and also I need to use range of variables (like in dplyr) d=mean(a:c).
当然还有
mutate(data, c=mean(a,b))
或
mutate(data, c=rowMeans(a,b))
不起作用.
你能给我一些提示吗?
问候
推荐答案
您正在寻找
data %>%
rowwise() %>%
mutate(c=mean(c(a,b)))
# id a b c
# (dbl) (dbl) (dbl) (dbl)
# 1 101 1 2 1.5
# 2 102 2 2 2.0
# 3 103 3 2 2.5
或
library(purrr)
data %>%
rowwise() %>%
mutate(c=lift_vd(mean)(a,b))
这篇关于dplyr - 像 rowmeans() 一样使用 mutate()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!