将列表转换为data.frame

时间:2015-10-14 23:23:15

标签: r

mylist <- list(structure(c(1L, 1L, 2L, 2L, 2L, 2L, NA, NA), .Names = c("A", 
"B", "C", "D", "E", "F", "G", "H")), structure(c(1L, 1L, 1L, 
1L, 1L, 2L, 1L, NA), .Names = c("A", "B", "C", "D", "E", "F", 
"G", "H")))

mylist
[[1]]
 A  B  C  D  E  F  G  H 
 1  1  2  2  2  2 NA NA 

[[2]]
 A  B  C  D  E  F  G  H 
 1  1  1  1  1  2  1 NA 

我有一个如上所示的列表,我想将其折叠为data.frame,以便我可以单独对每个列进行子集,即df$Adf$B等。

> df$A
[1] 1 1

> df$B
[1] 1 1

> df$C
[1] 2 1

等等

1 个答案:

答案 0 :(得分:0)

根据名称,您可以unlistsplit,例如

temp <- unlist(mylist)
res <- split(unname(temp), names(temp))

# res$A
# [1] 1 1
# res$B
# [1] 1 1
# res$C
# [1] 2 1