gpt4 book ai didi

r - 循环遍历数据帧列表以在 R 中创建数据帧

转载 作者:行者123 更新时间:2023-12-05 03:29:09 25 4
gpt4 key购买 nike

我有以下问题,但我无法找到有效的答案我有多个数据框(准确地说是 35 个),我想向 35 个数据框中的每一个添加另一个包含人口统计数据的数据框。

为简单起见,我有以下示例:

df1 <- data.frame(ID = c(1:3), b = c('x', 'y', 'z'), c = c('gh', 'fg', 'xv'), df = c('z', 'x', 'y'))

df2 <- data.frame(ID = c(1:3), v = c('a', 'mm', 'xc'), hg = c('yty', 'zc', 'cx'), fd = c('z', 'x', 'y'))

df3 <- data.frame(ID = c(1:3, t = c('ae', 'yw', 'zs'), j = c('ewr', 'zd', 'x'), sd = c('z', 'x', 'y'))

df4 <- data.frame(ID = c(1:3), u = c('df', 'y', 'z'), k = c('df', 'zs', 'xf'), f = c('z', 'x', 'y'))
.
.
.
df(n) <- ...


demo <- data.frame(sex = c('m', 'm', 'f'), age = c('30', '50', '62'), vital_sts = c('a', 'a', 'd'))

我想做的是将 demo 数据帧粘贴到其他每个帧中。所以我尝试过:

dfList <- list(df1, df2,df3,df4...)  

for (i in 1:length(dfList) {
i <- merge(demo,i)
}

但是,当我检查数据帧时,它们没有合并。任何帮助将不胜感激。谢谢!

最佳答案

一个可能的解决方案,之前创建了一个列表,其中包含要与 demo 合并的所有数据帧:

df1 <- data.frame(ID = c(1:3), b = c('x', 'y', 'z'), c = c('gh', 'fg', 'xv'), df = c('z', 'x', 'y'))

df2 <- data.frame(ID = c(1:3), v = c('a', 'mm', 'xc'), hg = c('yty', 'zc', 'cx'), fd = c('z', 'x', 'y'))

demo <- data.frame(sex = c('m', 'm', 'f'), age = c('30', '50', '62'), vital_sts = c('a', 'a', 'd'))

dfs <- list(df1, df2)

l <- lapply(dfs, cbind, demo)
names(l) <- c("df1", "df2")
list2env(l, .GlobalEnv)

df1

#> ID b c df sex age vital_sts
#> 1 1 x gh z m 30 a
#> 2 2 y fg x m 50 a
#> 3 3 z xv y f 62 d

df2

#> ID v hg fd sex age vital_sts
#> 1 1 a yty z m 30 a
#> 2 2 mm zc x m 50 a
#> 3 3 xc cx y f 62 d

关于r - 循环遍历数据帧列表以在 R 中创建数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71058671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com