我正在处理一些在JSON文件中输出的API数据。这个数据的主要问题是使用函数fromJSON
,我得到一个“列表列表”,看起来像这样(head
已应用):
[[1]]
[[1]]$`agency_code`
[1] 7
[[1]]$applicant_income_000s
[1] 56
[[1]]$action_taken
[1] 1
[[1]]$as_of_year
[1] 2015
[[2]]
[[2]]$`agency_code`
[1] 9
[[2]]$applicant_income_000s
[1] 27
[[2]]$action_taken
[1] 1
[[2]]$as_of_year
[1] 2015
[[3]]
[[3]]$`agency_code`
[1] 9
[[3]]$applicant_income_000s
[1] 90
[[3]]$action_taken
[1] 1
[[3]]$as_of_year
[1] 2015
[[4]]
[[4]]$`agency_code`
[1] 9
[[4]]$action_taken
[1] 1
[[4]]$as_of_year
[1] 2015
如您所见,第4个列表元素(以及更多)中缺少$applicant_income_000s
。
我想创建一个dataframe
,其中缺少的元素被编码。我遇到的问题是rbind
。这是我到目前为止所尝试的内容:
df <- as.data.frame(json.list.data)
df <- rbind.data.frame(json.list.data, deparse.level = 1)
df <- as.data.frame(rbind(json.list.data, deparse.level = 1)
理想情况下,API查询会包含缺失值的字段,例如applicant_income_000s = .
,但事实并非如此。相反,它省略了字段,产生了不均匀的列表,这是我问题的根源!
有没有人知道这个问题?我非常感谢你的时间!
更新
以下是我的列表数据示例,来自dput(head())
:
list(list(agency_code = 7, applicant_income_000s = 56, action_taken = 1,
as_of_year = 2015), list(agency_code = 9, applicant_income_000s = 27,
action_taken = 1, as_of_year = 2015), list(agency_code = 9,
applicant_income_000s = 90, action_taken = 1, as_of_year = 2015),
list(agency_code = 9, action_taken = 1, as_of_year = 2015),
list(agency_code = 5, applicant_income_000s = 212, action_taken = 1,
as_of_year = 2015), list(agency_code = 7, action_taken = 1,
as_of_year = 2015))