r - 多个变量的自定义函数

标签 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))

最佳答案

希望这就是您正在寻找的:(在 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/

相关文章:

r - dplyr mutate 调用另一个数据帧

Python实现以排列数为输入的Permutation Test

java - 通过 Java 从终端运行 R

mysql - R:Windows 上的 MySQL 字符编码

r - 计算两个或多个时间点的分数变化

运行 `rlang::last_error()`看看错误发生在哪里

r - 双向 key<->val 查找表的正确数据结构

r - src_snowflakedb() 问题 : 'src_sql' is not an exported object

r - 在 R 中取消引用函数内部的参数

r - 数据帧列表,但每个列表项都有 df 和另一个值,无法使用 bind_rows() 来组合它们