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

标签 r dataframe dynamic

我有一些 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/

相关文章:

sql - 测试动态查询中是否有任何更新

r - 如何根据 shinymanager 凭据禁用 Shiny 功能

python - 如何按一列进行分组并统计其他列中的类别数?

python - pandas 中字符串到日期时间的转换

c++ - 似乎无法通过艰难的方式倍增

mysql - 选择 SQL 查询 FROM 表,选择使用该查询?

r - 我是否需要对 randomForest(R 包)的数据进行标准化(或缩放)?

R - 数字的条件格式(小数位)

r - R 中 x 轴上标签的季节性图变化

python - 使用 [key :value] combination in Python 将多列合并为一个列列表