首页 > 解决方案 > 循环遍历数据框以生成新列

问题描述

我有 10 个数据框(Shape1、Shape 2、Shape 3 等),每个数据框都包含相同的列名。我如何在 10 个数据帧中循环此命令,以便每个数据帧都包含一个称为集成的新列?

Shape1$Integration<-cumtrapz(Shape1$Time, Shape1$CA) 

非常感谢

标签: rloopsfor-loop

解决方案


在基础 R 中,您可以使用创建数据框列表mget,遍历每个数据框并使用创建新列transform

lapply(mget(paste0("Shape", 1:10)), function(x) 
        transform(x, Integration = cumtrapz(Time, CA)))

可以tidyverse这样做

library(tidyverse)
map(mget(paste0("Shape", 1:10)), ~.x %>% mutate(Integration = cumtrapz(Time, CA)))

推荐阅读