非常基本的问题。但我无法将其应用于我的代码。因此,寻求帮助在这里R中的诱捕错误
我得到下面提到的错误,同时运行该R代码
knn.pred <- knn(tdm.stack.nl_train, tdm.stack.nl_Test, tdm.cand_train, prob = TRUE)
> Error in knn(tdm.stack.nl_train, tdm.stack.nl_Test, tdm.cand_train, prob = TRUE) :
> dims of 'test' and 'train' differ.
我想下面给出打印错误消息。但是我无法做到这一点。我不擅长编写函数..请帮忙。
out <- tryCatch(when error = {print('New words seen in testing data')})
非常感谢你。这工作。顺便说一下,你能解释一下这个函数(e)在这里意味着什么?再次感谢。 – Arun
@阿伦不客气,很高兴我能帮上忙。函数(e)'位称为[匿名函数](http://adv-r.had.co.nz/Functional-programming.html)。参数错误需要一个函数,当'tryCatch'中发生错误时将调用该函数。既然我们希望它停止并打印出一个特定的错误,我们通过使用一个匿名函数来完成它。匿名函数实际上是一个正常的函数,唯一的例外是它没有名字(因此是匿名的)。 – LyzandeR
而'函数(e)'中的'e'是任意的。基本上它可以是任何你喜欢的。如果你喜欢,你可以使用'function(whatever)'。人们通常使用'e',因为它是'error'的第一个字母。 – LyzandeR