我有一个嵌套的数据列表.它的长度是132,每个项目都是长度为20的列表.是否有一种快速方法将此结构转换为具有132行和20列数据的数据框?
以下是一些要使用的示例数据:
l <- replicate(
132,
list(sample(letters, 20)),
simplify = FALSE
)
Run Code Online (Sandbox Code Playgroud) 我最近发现了如何创建衣衫褴褛的数据帧使用的I功能,但其很难与它们集成tidyr,ggplot2以及Hadleyverse的其余部分.更具体地说,如何将包含命名向量的列收集到键值列中?
假设我创建了一个这样的数据框
make.vector <- function(length.out){
x <- sample(9, length.out)
names(x) <- switch(length.out,
"Alice",
c("Bob", "Charlie"),
c("Dave", "Erin", "Frank"),
c("Gwen", "Harold", "Inez", "James"))
x
}
mydf <- data.frame(Game = gl(3, 3, labels=LETTERS[1:3]),
Set = rep(1:3, 3),
Score = I(lapply(rep(2:4, each=3), make.vector)))
Run Code Online (Sandbox Code Playgroud)
生产
> print(mydf)
Game Set Score
1 A 1 8, 3
2 A 2 2, 8
3 A 3 3, 8
4 B 1 1, 5, 4
5 B 2 2, 3, …Run Code Online (Sandbox Code Playgroud)