我试图 rbind 从 api 抓取的一些 json 数据
library(jsonlite)
pop_dat <- data.frame()
for (i in 1:3) {
# Generate url for each page
url <- paste0('http://api.worldbank.org/v2/countries/all/indicators/SP.POP.TOTL?format=json&page=',i)
# Get json data from each page and transform it into dataframe
dat <- as.data.frame(fromJSON(url)[2],flatten = TRUE, row.names = NULL)
pop_dat <- rbind(pop_dat, dat)
}
但是,它返回以下错误:
row.names<-.data.frame
( , value = value)中的错误*tmp*
:不允许重复的“row.names”另外:警告消息:设置“row.names”时的非唯一值:“1”、“10”、“11”、“12” ','13','14','15','16','17','18','19','2','20','21','22','23', '24'、'25'、'26'、'27'、'28'、'29'、'3'、'30'、'31'、'32'、'33'、'34'、'35' ','36','37','38','39','4','40','41','42','43','44','45','46', '47'、'48'、'49'、'5'、'50'、'6'、'7'、'8'、'9'
将 row.names 更改为 null 不起作用。我从某人那里听说这是因为有些数据在这里存储为列表,我不太明白。
我知道有一个替代包 WDI 可以访问此数据并且它运行良好,但我想知道如何解决这里的重复行名称问题,以便我可以处理没有替代包可用的类似情况。