如果 returns 出错,如何跳过 R 循环中的项目?
How to skip an item in a loop in R if it returns an error?
我正在尝试下载维基百科页面以获取姓名列表。不过,并非列表中的所有名称都有 wiki 页面。我想遍历列表,保存存在的页面并跳过不存在的名称。有办法吗?
这是我到达的地方:
library('WikipediR')
names_dat = data.frame(name = c('Donald Trump', 'Jo Biden', 'Fakey McNotreal', 'Bernie Sanders')
wiki_list = list()
for (i in 1:nrow(names_dat)){
temp = page_content(domain = 'wikipedia.org',
page_name = names_dat$name[i],
as_wikitext = F)
wiki_list[[i]] = temp
}
谢谢!
将评论视为可能重复,但我认为这就是您所追求的:
library('WikipediR')
names_dat = data.frame(name = c('Donald Trump', 'Jo Biden', 'Fakey McNotreal', 'Bernie Sanders'))
wiki_list = list()
for (i in 1:nrow(names_dat)){
tryCatch({
temp = page_content(domain = 'wikipedia.org',
page_name = names_dat$name[i],
as_wikitext = F)
wiki_list[[i]] = temp
}, error=function(e){cat("ERROR :",conditionMessage(e), "\n")})
}
我正在尝试下载维基百科页面以获取姓名列表。不过,并非列表中的所有名称都有 wiki 页面。我想遍历列表,保存存在的页面并跳过不存在的名称。有办法吗?
这是我到达的地方:
library('WikipediR')
names_dat = data.frame(name = c('Donald Trump', 'Jo Biden', 'Fakey McNotreal', 'Bernie Sanders')
wiki_list = list()
for (i in 1:nrow(names_dat)){
temp = page_content(domain = 'wikipedia.org',
page_name = names_dat$name[i],
as_wikitext = F)
wiki_list[[i]] = temp
}
谢谢!
将评论视为可能重复,但我认为这就是您所追求的:
library('WikipediR')
names_dat = data.frame(name = c('Donald Trump', 'Jo Biden', 'Fakey McNotreal', 'Bernie Sanders'))
wiki_list = list()
for (i in 1:nrow(names_dat)){
tryCatch({
temp = page_content(domain = 'wikipedia.org',
page_name = names_dat$name[i],
as_wikitext = F)
wiki_list[[i]] = temp
}, error=function(e){cat("ERROR :",conditionMessage(e), "\n")})
}