我有一个学者列表,用于解析他们可用的 Google 学者 ID。不知何故,我得到了“下标越界”的错误,但我无法与此问题提供的其他响应相关联。代码如下。谢谢!:
library(scholar)
for (i in 1:200){
scholars<-get_scholar_id(last_name = list$Last.Name[i],
first_name = list$First.Name[i],
affiliation = "ABC University")
}
这导致:
No Scholar ID found.
No Scholar ID found.
Error in tables[[1]] : subscript out of bound
但是,如果我确实提出:
scholars_B<-get_scholar_id(last_name = list$Last.Name[3],
first_name = list$First.Name[3],
affiliation = "ABC University")
我获得了 Google 学者 ID,没有任何问题。
可重现的例子:
# list from top h-index researchers (just for the purpose of this sample)
Last.Name <- c("Colditz", "Lander", "Akira", "Langer", "Karin")
First.Name <- c("Graham", "Eric", "Shizuo", "Robert", "Michael")
df <- data.frame(Last.Name, First.Name)
print (df)
library(scholar)
#First try:
for(i in 1:3){
scholars<-get_scholar_id(last_name = df$Last.Name[i],
first_name = df$First.Name[i])
}
#Error: Error in tables[[1]] : subscript out of bounds
#Suggestion by @akrun
for(i in seq_along(df$Last.Name)){
scholars<-get_scholar_id(last_name = df$Last.Name[i],
first_name = df$First.Name[i])
}
#Error: Error in tables[[1]] : subscript out of bounds
#This way works, but not with the for function:
scholars<-get_scholar_id(last_name = df$Last.Name[3],
first_name = df$First.Name[3])
print(scholars)