r - 如何将此列表列表转换为R中的数据框?
问题描述
假设我们有这样的东西:
list of two months:
Jan
Feb
然后,当您展开一月和二月时,您会看到其他列表(国家/地区):
Jan -> USA, UK, etc.
Fab -> USA, UK, etc.
最后,每个国家都是一个列表,包含两个项目。例如在 Jan 列表中打开 USA:
USA -> gdp, population
我想要做的是实现这样的数据框(数字只是数据中的值):
month country gdp population
Jan USA number no.
Jan UK number no.
Feb USA number no.
Feb UK number no.
我试过bind_rows(list)
了,但效果不太好,因为标题变成了国家,而列中填充了不再有标签的数字。
有没有人有任何想法?
编辑:dput()
输出:
list(`Jan` = list(UK = list(date_value = "Jan",
country_code = "UK", gdp = 308L, pop = 0L)
解决方案
这是一个选项
library(purrr)
library(dplyr)
map_dfr(lst2, bind_rows)
# A tibble: 2 x 4
# date_value country_code gdp pop
# <chr> <chr> <int> <int>
#1 Jan UK 308 0
#2 Jan UK 308 0
数据
lst2 <- list(Jan = list(UK = list(date_value = "Jan", country_code = "UK",
gdp = 308L, pop = 0L)), Feb = list(UK = list(date_value = "Jan",
country_code = "UK", gdp = 308L, pop = 0L)))
推荐阅读
- javascript - 如何在 Javascript 中存储变量的先前值?
- node.js - 快递 JS 地图 /$metadata
- javascript - reactstrap:如何使下拉菜单的大小填满所有可用空间
- php - 告诉 intelephense 该函数是有效的
- csv - Apache-NiFi 数组索引越界异常
- html - 仅在小屏幕上的页面右侧空白(桌面上的 Safari 和手机上的 Chrome)
- statistics - 如何计算 X_1 在 X_i 中最大的概率
- javascript - 垂直滚动在行内的 div(col-md-6) 之外不起作用
- spring - Keycloak with Spring Cloud Gateway
- javascript - jQuery 单击事件未在第一次单击时运行。(转到页面顶部操作)