【发布时间】:2020-02-19 01:34:41
【问题描述】:
我正在尝试编写一个 for 循环,将作者的短 ID 提供给名为 RePEc 的数据库并获取从属关系数据。到目前为止,这就是我所拥有的(注意:USERCODE 仅适用于我的 IP):
url <- "https://api.repec.org/call.cgi?code=USERCODE&getauthorrecordraw="
for(i in 1:length(df_affiliations)){
Sys.sleep(1)
affiliation_fun <- paste(url,df_affiliations$author_reg_1[i])
affiliation_run <- fromJSON(txt=affiliation_fun) %>% select("affiliation") %>% unlist(use.names=FALSE)
affiliation_1 <- paste(unlist(affiliation_run), collapse =" ")
df_affiliations$vector <- rbind(affiliation_1)
}
每次我尝试这个时,我要么只得到最后一个值,要么得到一个 HTTP 错误 400。for 循环不是我的强项。谁能弄清楚我哪里出错了?提前感谢您的帮助!
【问题讨论】:
-
您可能想要
paste0()而不是paste()。后者从 URL 中插入一个可能不正确的空格。还有class(df_affiliations$author_reg_1[i])是什么? -
您好,感谢您的帮助。这是一个字符向量