我正在计算变量居中后的平均值。通过居中,它意味着从原始变量中减去变量的平均值。我正在使用 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))
最佳答案
希望这就是您正在寻找的:(在 mean()
内添加 na.rm = TRUE
是必需的
library(dplyr)
train %>% summarise_all(function(x) mean(x - mean(x)))
# X1 X2 X3
# 0 0 -3.251647e-21
关于r - 多个变量的自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43254268/