多个变量的自定义函数

时间:2017-04-06 11:45:06

标签: r dplyr

我正在计算变量居中后的平均值。通过居中它意味着从其原始变量中减去变量的平均值。我正在使用dplyr包。我可以通过mutate()函数为一个变量做到这一点。如何使用mutate对多个变量进行相同的操作?

set.seed(1)      # for reproducible example
train <- data.frame(X1=sample(1:100,100),
                 X2=1e6*sample(1:100,100),
                 X3=1e-6*sample(1:100,100))

library(dplyr)
train %>%  mutate(center = X1-mean(X1)) %>% 
  summarise(round(mean(center),4))

2 个答案:

答案 0 :(得分:0)

train %>% mutate_each(funs(((function(x){x-mean(x)})(.)))) %>% 
summarise_each(funs(mean(.), na.rm = TRUE)))

答案 1 :(得分:0)

希望这是您所寻找的:( {1}}

中需要添加na.rm = TRUE
mean()