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

时间:2017-05-22 10:48:00

标签: r dataframe dynamic

我有一些像

的df

df1
DF2
DF3
...
DFN

那么如何使用循环

来使用我的数据框

示例:

循环(i in 1:n)
{
摘要(paste0(" df",i))#=====>这不起作用!

}

1 个答案:

答案 0 :(得分:5)

我们可以使用list返回list中字符串对象的值,然后使用lapply循环summary获取lapply(mget(paste0("df", seq_len(n))), summary) < / p>

for

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

data.frame

注意:最好将list放在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

数据

{{1}}
相关问题