r - 将嵌套列表转换为单个数据框或小标题
问题描述
我有一个非常大的嵌套列表,我想制作一个平面数据框。我创建了列表前两个元素的 dput 以快速复制/粘贴(抱歉,在创建 df 后我可以清理很多废话)我尝试遵循类似的关于将列表转换为 df 但似乎没有兼容的问题出于某种原因与我的。
谢谢!
这是前两个元素的 dput - 完整列表有数千个:
list(structure(list(first = structure(list(text = c("\n\tMenghe a'Nyam\n\t\n\n \n\n \n\n \n\n \n
Position:\n \n Forward\n\n\n\n 6-5, 215lb (196cm, 97kg) \n \n\n \n\n \n \n \n\n School:
Canisius\n\n\n\n\n\n More player info\n\n\n\n\n\n" ,
"\n\tMenghe a'Nyam\n\t\n\n \n\n \n\n \n\n \n Position:\n \n Forward\n\n\n\n 6-5, 215lb
(196cm, 97kg) \n \n\n \n\n \n \n \n\n School: Canisius\n\n\n\n\n\n More player
info\n\n\n\n\n\n" ,
"\n\tMenghe a'Nyam\n\t\n\n \n\n \n\n \n\n \n Position:\n \n Forward\n\n\n\n 6-5, 215lb
(196cm, 97kg) \n \n\n \n\n \n \n \n\n School: Canisius\n\n\n\n\n\n More player
info\n\n\n\n\n\n"
)), row.names = c(NA, -3L), class = c("tbl_df", "tbl", "data.frame"
)), second = structure(list(Season = c("2006-07", "2007-08",
"Career"), name = c("menghe-anyam", "menghe-anyam", "menghe-anyam"
)), row.names = c(NA, -3L), class = "data.frame")), row.names = c(NA,
-3L), class = c("tbl_df", "tbl", "data.frame")), structure(list(
first = structure(list(text = c("\n\tJordan Aaberg\n\t\n\n \n\n \n\n \n\n \n Position:\n \n
Forward\n\n\n\n 6-9, 225lb (206cm, 102kg) \n \n\n Hometown: Rothsay, MN\n\n\n\n \n\n High
School: Rothsay\n\n\n\n \n \n \n\n School: North Dakota State\n\n\n\n\n\n More player
info\n\n\n\n\n\n" ,
"\n\tJordan Aaberg\n\t\n\n \n\n \n\n \n\n \n Position:\n \n Forward\n\n\n\n 6-9, 225lb
(206cm, 102kg) \n \n\n Hometown: Rothsay, MN\n\n\n\n \n\n High School: Rothsay\n\n\n\n \n \n
\n\n School: North Dakota State\n\n\n\n\n\n More player info\n\n\n\n\n\n" ,
"\n\tJordan Aaberg\n\t\n\n \n\n \n\n \n\n \n Position:\n \n Forward\n\n\n\n 6-9, 225lb
(206cm, 102kg) \n \n\n Hometown: Rothsay, MN\n\n\n\n \n\n High School: Rothsay\n\n\n\n \n \n
\n\n School: North Dakota State\n\n\n\n\n\n More player info\n\n\n\n\n\n" ,
"\n\tJordan Aaberg\n\t\n\n \n\n \n\n \n\n \n Position:\n \n Forward\n\n\n\n 6-9, 225lb
(206cm, 102kg) \n \n\n Hometown: Rothsay, MN\n\n\n\n \n\n High School: Rothsay\n\n\n\n \n \n
\n\n School: North Dakota State\n\n\n\n\n\n More player info\n\n\n\n\n\n" ,
"\n\tJordan Aaberg\n\t\n\n \n\n \n\n \n\n \n Position:\n \n Forward\n\n\n\n 6-9, 225lb
(206cm, 102kg) \n \n\n Hometown: Rothsay, MN\n\n\n\n \n\n High School: Rothsay\n\n\n\n \n \n
\n\n School: North Dakota State\n\n\n\n\n\n More player info\n\n\n\n\n\n"
)), row.names = c(NA, -5L), class = c("tbl_df", "tbl", "data.frame"
)), second = structure(list(Season = c("2009-10", "2011-12",
"2012-13", "2013-14", "Career"), name = c("jordan-aaberg",
"jordan-aaberg", "jordan-aaberg", "jordan-aaberg", "jordan-aaberg"
)), row.names = c(NA, -5L), class = "data.frame")), row.names = c(NA,
-5L), class = c("tbl_df", "tbl", "data.frame")))
解决方案
要在一个数据框中获取数据,您可以使用:
newdata <- do.call(rbind, lapply(data, function(x) do.call(cbind, x)))
或使用purrr
:
newdata <- purrr::map_df(data, ~do.call(cbind, .x))
推荐阅读
- python - 无法将元组列表 [('1',), ('2',), ('3',)] 转换为列表 ['1', '2', '3']?
- git - 如何使用本地文件快捷方式 git clone
- ansible - group_vars/all/ 目录中的文件是什么?
- python - 干净地退出python3函数而不离开repl
- kubernetes - 如何在 Kubernetes 集群级别查找可用资源?
- spring-boot - 在 Thymeleaf 中访问 @Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS)
- c - 可变参数宏扩展出错了
- docker - Docker 映像:如何在生产中部署一个简单的修补程序,而不在每次发布时打包整个应用程序?
- maven - 使用 IntelliJ 作为 Gradle 项目打开了一个源目录,但它是一个 Maven 项目
- javascript - 比较两个数组和唯一值计数?