我正在尝试执行以下操作:
try(htmlParse(ip[1], T)
,
我将a定义为:
ip[1] = paste('http://en.wikipedia.org/wiki/George_Clooney')
我想检查htmlParse是否有效。对于我的列表中的许多名称,将没有维基百科网站,因此如果维基页面不存在,我需要能够检查并用NA替换ip [1]。
有人可以告诉我如何做到这一点。我尝试使用命令geterrmessage(),但是我不确定每次更改名人名称时如何刷新。
目前我有以下内容:
if(!isTRUE(as.logical(grep(ip[1],err)))) {
ip[1] = NA
}
else {
这肯定是错误的,因为它没有运行我想要的逻辑语句。
由于
阿玛尔
答案 0 :(得分:25)
这个简单的例子可以帮助你,我想:
res <- try(log("a"),silent = TRUE)
class(res) == "try-error"
[1] TRUE
基本思想是当出现错误时,try
返回(不可见)类“try-error”的对象。否则,res
将包含您传递给try
的表达式的结果。即。
res <- try(log(2),silent = TRUE)
res
[1] 0.6931472
花一些时间仔细阅读?try
,包括示例(我猜不是那么简单)。正如下面的GSee所述,检查是否存在错误的更惯用的方法是使用inherits(res,'try-error')
。
答案 1 :(得分:1)