gpt4 book ai didi

循环中的 R 动态数据框名称

转载 作者:行者123 更新时间:2023-12-03 16:05:21 26 4
gpt4 key购买 nike

我有一些 df 喜欢

df1
df2
df3
...
dfn

那么如何使用循环使用我的数据框

例子:

循环(我在 1:n)
{
摘要(paste0(“df”,i)) # =====> 它不起作用!

}

最佳答案

我们可以使用 mget返回 list 中字符串对象的值,然后循环遍历 listlapply获取 summary

lapply(mget(paste0("df", seq_len(n))), summary)

如果我们使用 for循环,确保我们将结果存储在一个对象中,最好是 list , 使用 get返回对象的值,得到 summary并将其存储为 list 'out' 对象中的元素
out <- vector('list', n)
for(i in seq_len(n)) {
out[[i]] <- summary(get(paste0("df", i)))
}

注意:最好拥有所有 data.framelist .但是,如果我们想使用 for 更新全局环境中的原始对象。循环使用 assign
for(i in seq_len(n)) {
assign(paste0("df", i), get(paste0("df", i))[-(1:3)])
}

或者这可以通过 list2env 来完成使用后 lapply
list2env(lapply(mget(paste0("df", seq_len(n))), function(x) x[-(1:3)]), .GlobalEnv)

数据
df1 <- data.frame(col1 = 1:3, col2 = 4:6, col3 = 7:9, col4 = 10:12)
df2 <- data.frame(col1 = 1:15, col2 = 16:30, col3 = 31:45, col4 = 46:60)
n <- 2

关于循环中的 R 动态数据框名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44110953/

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