r - 遍历数据框列表并改变列

标签 r

对于如下所示的数据框,我想使用 for 循环遍历每个数据框并添加一些新列,例如 new & new1到数据帧 d1d2 .以下是我尝试过的。

d1 <- data.frame(y1 = c(1, 2, 3), y2 = c(4, 5, 6))
d2 <- data.frame(y1 = c(3, 2, 1), y2 = c(6, 5, 4))
my.list <- list(d1, d2)

for(df in my.list) {
  df$new <- df$y1 + df$y2
  df$new1 <- df$y1 - df$y2
}

但是,当我查看原始数据框时 d1d2他们不显示新的 col new .
> colnames(d1)
[1] "y1" "y2"
> colnames(d2)
[1] "y1" "y2"

我如何将新列添加到原始数据框中 d1d2 ?

最佳答案

map 版本如下所示:

library(purrr) # part of the tidyverse
map(my.list, ~ mutate(.x, new = y1 + y2))
~创建和匿名函数。

关于r - 遍历数据框列表并改变列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49411900/

相关文章:

R ggplot2 : Title and legend in one line

r - sqldf 在排序时将数字列更改为字符 1

r - 在同一页面上绘制多个 ggplot2

r - 使用 file.show 在 R studio 中打开 PDF

r - 基于另一个数据帧规范化数据帧

r - 交叉引用在 rmarkdown 投影仪演示中不起作用

r - 使用 ggplot 展开密度图

r - 根据两个协变量级别的对应关系选择数据帧的行

r - 在两个矩阵上使用 'apply' 而不是嵌套循环

r - 在 R 中存储 tic toc 值