【发布时间】:2020-08-02 15:28:25
【问题描述】:
我是 R(和 stackoverflow!)的新手,所以如果这是一个不好的问题/不好的描述,请善待。
我正在尝试从嵌套列表中填充数据框。目前,我有一个嵌套列表,其中包含我从网上抓取的 50 份请愿书的信息。我想创建一个数据框,其中包含来自 650 个议会选区中每个选区的签名数量,以便每一列是请愿书,每一行是一个选区。
所以目前我可以调用请愿书(第一个 [[1]])和选区(第二个 [[1]])的签名数量:
> json[[1]][["data"]][["attributes"]][["signatures_by_constituency"]][[1]][["signature_count"]]
[1] 1144
我还设法根据选区名称制作了一个数据框...
for (i in 1:650){
constituencies[[i]] <- json[[1]][["data"]][["attributes"]][["signatures_by_constituency"]][[i]][["name"]]
}
constituencies <- data.frame(constituencies)
constituencies
1 Aldershot
2 Aldridge-Brownhills
3 Altrincham and Sale West
4 Amber Valley
5 Arundel and South Downs
6 Ashfield
7 Ashford
...
650 Cardiff South and Penarth
现在我需要复制此内容,因此每个请愿书都是一个新列,其中包含每个选区的签名数量。
我试过了:
for (a in 1:50){
signatures <- list()
for (b in 1:650){
signatures[[b]] <- json[[a]][["data"]][["attributes"]][["signatures_by_constituency"]][[b]][["signature_count"]]
}
cbind(constituencies, signatures)
}
但我刚刚得到:
Error in json[[a]][["data"]][["attributes"]][["signatures_by_constituency"]][[b]] :
subscript out of bounds
有人可以帮忙吗?谢谢:)
【问题讨论】:
标签: r json dataframe for-loop web-scraping