假设我有以下列表“d”:
library(combinat)
d = permn(c("a", "b", "c"))
看起来如下:
[[1]]
[1] "a" "b" "c"
[[2]]
[1] "a" "c" "b"
[[3]]
[1] "c" "a" "b"
[[4]]
[1] "c" "b" "a"
[[5]]
[1] "b" "c" "a"
[[6]]
[1] "b" "a" "c"
是否可以将每个元素转换为新的数据框?
这就是我正在尝试做的事情:
data_1 = data.frame(col1 = c("a", "b", "c"))
data_2 = data.frame(col1 = c("a", "c", "b"))
data_3 = data.frame(col1 = c("c", "a", "b"))
data_4 = data.frame(col1 = c("c", "b", "a"))
data_5 = data.frame(col1 = c("b", "c", "a"))
data_6 = data.frame(col1 = c("b", "a", "c"))
有人可以告诉我如何做到这一点吗?
谢谢!
最佳答案
在创建 data.frame
和 setNames
后,您可以将 list2env
放入 .GlobalEnv
中。
lapply(d, \(x) data.frame(col1=x)) |>
setNames(paste0('data', seq_along(d))) |>
list2env(envir=.GlobalEnv)
data1
# col1
# 1 a
# 2 b
# 3 c
R 版本 <4.1:
list2env(
setNames(
lapply(d, function(x) data.frame(col1=x)),
paste0('data', seq_along(d))),
envir=.GlobalEnv)
关于r - 为列表中的每个元素创建新的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70527878/