我应该如何将人口普查 API 数据读入 R
How should I be reading Census API data into R
我正在努力使用该机构的 API 将人口普查数据读取到 R 中,但我正在努力使其以正确的格式读取。
如果您只是在网络浏览器中查看该数据的格式:
我得到的最接近的是这一系列代码:
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)
但是如您所见,它仍然不是一个好的数据帧格式。
有没有我想念的更简单的方法?谢谢。
我可能是错的,但是 API returns JSON 的使用不当。无论如何,您可以将 datanew
强制转换为数据框,但这会在第 1 行留下列标签。因此您使用第 1 行命名列,然后删除第 1 行。
df <- as.data.frame(datanew)
names(df) <- df[1, ]
df <- df[-1, ]
之后您可能希望将每一列转换为适当的数据类型。
我正在努力使用该机构的 API 将人口普查数据读取到 R 中,但我正在努力使其以正确的格式读取。
如果您只是在网络浏览器中查看该数据的格式:
我得到的最接近的是这一系列代码:
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)
但是如您所见,它仍然不是一个好的数据帧格式。
有没有我想念的更简单的方法?谢谢。
我可能是错的,但是 API returns JSON 的使用不当。无论如何,您可以将 datanew
强制转换为数据框,但这会在第 1 行留下列标签。因此您使用第 1 行命名列,然后删除第 1 行。
df <- as.data.frame(datanew)
names(df) <- df[1, ]
df <- df[-1, ]
之后您可能希望将每一列转换为适当的数据类型。