我在任何地方都找不到答案。
我想计算基于行均值的数据框的新变量。
例如:
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)。
而且当然
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))
关于r - dplyr-使用像rowmeans()这样的mutate(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33401788/