我正在通过library(blsR)
从www.example.com检索美国通胀的月度数据BLS.gov,我的问题是检索到的数据是一个列表的列表。
library(blsR)
cpi <- bls_request(query_n_series(c("CUUR0000SA0", # CPI for All-Items
"CUUR0000SETA02", # CPI for Used Cars and Trucks
"CUUR0000SAF11211")), # CPI for Meats
api_key = "6b732f6c133d48669aadd2790cb71ccc")
map(cpi, as.data.table)
它返回(如下所示),而每个V1、V2和V3变量的36条记录仍将被组织为data.frame
。
$series
V1 V2 V3
1: CUUR0000SA0 CUUR0000SETA02 CUUR0000SAF11211
2: <list[36]> <list[36]> <list[36]>
data.frame
的预期格式为:
V year period periodName value
CUUR0000SA0 2022 M12 December 100
CUUR0000SETA02 2022 M12 December 100.5
CUUR0000SAF11211 2022 M12 December 100.75
4条答案
按热度按时间9rygscc11#
我们可以使用
rrapply
对数据进行bind
,然后使用pivot_longer
将其整形为"longjm81lzqq2#
你可以试试这个
会给我们
hpcdzsge3#
您也可以使用
jsonlite
解析CPI数据,给出,
类似地,您可以使用
out[[2]]
和out[[3]]
访问其他系列。此外,如果您只想获取数据,您可以键入iidee.out[[1]]$data
。ckocjqey4#
下面是使用
rrapply()
的另一种方法:首先,我们解析seriesID
值,其次,我们解析所有其它嵌套值,第三,我们将两个 Dataframe 合并在一起: