复制相同的 data.frame n 次并将它们保存到列表中

Replicate same data.frame n times and save them into a list

我只需要复制我的 data.frame n 次(例如 100)并将所有输出保存到列表中。

应该很简单明了,但我还没有找到任何解决方案。

假的data.frame:

df = read.table(text = 'a b
1 2
5 6
4 4
11 78
23 99', header = TRUE)

我们可以使用replicate

n <- 100
lst <- replicate(n, df, simplify = FALSE)

lapply:

df_list <- lapply(1:100, function(x) df)

如果将 rep 包装在 list 中,则可以使用 rep,因为 rep 会尝试 return 传递给它的相同类型的对象:

df_list <- rep(list(df), 100)

str(df_list[1:2])
#> List of 2
#>  $ :'data.frame':    5 obs. of  2 variables:
#>   ..$ a: int [1:5] 1 5 4 11 23
#>   ..$ b: int [1:5] 2 6 4 78 99
#>  $ :'data.frame':    5 obs. of  2 variables:
#>   ..$ a: int [1:5] 1 5 4 11 23
#>   ..$ b: int [1:5] 2 6 4 78 99