首页 > 解决方案 > 我应该如何将人口普查 API 数据读入 R

问题描述

我正在努力使用该机构的 API 将人口普查数据读入 R,但我正在努力让它以正确的格式读取。

我试图读取的 URL:https ://api.census.gov/data/timeseries/eits/mwts?get=data_type_code,time_slot_id,seasonally_adj,category_code,cell_value,error_data&time=2012

如果您只是在网络浏览器中查看该数据的格式:

在此处输入图像描述

我得到的最接近的是这一系列代码:

library(jsonlite)
data <- url("https://api.census.gov/data/timeseries/eits/mwts? get=data_type_code,time_slot_id,seasonally_adj,category_code,cell_value,error_data&time=2012")
    
    
datanew <- fromJSON(data)

但正如您所看到的,这仍然不是一个好的数据帧格式。

在此处输入图像描述

有没有我想念的更简单的方法?谢谢。

标签: rjsonapireadr

解决方案


我可能错了,但是那个 API 返回了对 JSON 的不当使用。无论如何,您可以强制datanew转换为数据框,但这会让您在第 1 行留下列标签。因此,您使用第 1 行来命名列,然后删除第 1 行。

df <- as.data.frame(datanew)
names(df) <- df[1, ]
df <- df[-1, ]

之后,您可能希望将每一列转换为适当的数据类型。


推荐阅读