r - 对数据框中的所有变量执行相同的变异

标签 r dplyr

我有一个包含 28 个变量的数据框,我想用相同的函数对同一数据框中的每个变量进行变异。例如,为数据框中的每个变量添加一个额外的列,其中新列是变量的日志。例如,如果我有

dataframe <- data.frame(X=data1, Y=data2, Z=data3)

我想要一个包含 X Y 和 Z 以及 log(X)、log(Y) 和 log(Z) 的新数据框。这很容易使用

mutate(dataframe, log(X)); mutate(dataframe(log(Y))

等等,但是对于 28 个变量(以及对每个变量进行多次转换 - 我也想得到每个变量的 sqrt 和 ^2),它有点太多了。我知道 mutate_all 的存在,但出于某种原因,当我尝试使用它时,它会替换所有变量而不是添加新变量。

最佳答案

我们可以使用 mutate_all 并在 funs 中指定后缀,这样它将创建为一个新列。否则,将用函数的输出替换原来的

dataframe %>%
        mutate_all(funs(log = log(.))

关于r - 对数据框中的所有变量执行相同的变异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53068266/

相关文章:

r - 如何迭代添加列以使用半修改名称重新编码

r - plyr::ddply 等效于 dplyr

r - 填写常量值,dplyr中满足条件时加1

R:将列表组件的值连接到另一个定义哪些组件在一起的列表

r - R 3.6 的 arrayQualityMetrics 包和 GEOquery 的来源是什么

r - 模糊与精确匹配相结合

r - 排除 Dplyr 中 Dot 中的周末

r - 具有 geom_smooth 的对数 y

r - 如何使用 RCurl *after* 服务器身份验证下载大型二进制文件

r - 将 R 向量中的分数转换为小数