繁体   English   中英

如何创建一个循环来为不同的数据框创建一个新变量

[英]How can I create a loop to create a new variable for different dataframes

我想知道如何创建一个循环来为 7 个不同的数据帧创建相同的新变量。 目前,我的代码如下所示:

m1_02 <- m1_02 %>% mutate(hhid = xa*10^5 + hoso)
m2_02 <- m2_02 %>% mutate(hhid = xa*10^5 + hoso)
m3_02 <- m3_02 %>% mutate(hhid = xa*10^5 + hoso)
m3_02a <- m3_02a %>% mutate(hhid = xa*10^5 + hoso)
m6a2_02 <- m6a2_02 %>% mutate(hhid = xa*10^5 + hoso)
m6b1_02 <- m6b1_02 %>% mutate(hhid = xa*10^5 + hoso)
m6b2_02 <- m6b2_02 %>% mutate(hhid = xa*10^5 + hoso)

我想知道是否有一种方法可以创建一个循环,该循环可以在相应的数据帧中创建hhid变量,而不必一个一个地使用mutate function。

谢谢!

最好将数据集加载到list ,然后立即执行操作并将 output 存储在list ,而不是在全局环境中创建更多对象

library(purrr)
library(dplyr)
lst1 <- mget(ls(pattern = "^m.*\\d+_\\d+$")) %>%
    map(~ .x %>%
            mutate(hhid = xa * 10^5 + hoso))

如果我们需要更新原来的 object,使用list2env list上的 list2env

list2env(lst1, .GlobalEnv)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM