复制相同的 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
我只需要复制我的 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