Excel IFERROR 的 R 等效项是啥?

Posted

技术标签:

【中文标题】Excel IFERROR 的 R 等效项是啥?【英文标题】:What is the R equivalent for Excel IFERROR?Excel IFERROR 的 R 等效项是什么? 【发布时间】:2015-09-21 17:47:29 【问题描述】:

我正在尝试将 IFERROR 条件放入 R 中,例如 Excel IFERROR 函数。我正在建立一个随机森林模型。为了微调,我使用了 tuneRF 功能。它有助于提供最佳的 mtry 参数。

#Selecting Optimal MTRY parameter
mtry <- tuneRF(dat3[, -36], dat3[,36], ntreeTry=1000, stepFactor=1.5,improve=0.01, trace=TRUE, plot=TRUE)
best.m <- mtry[mtry[, 2] == min(mtry[, 2]), 1]

有时,如果OOB错误在不同的迭代中没有改善,上述函数会返回错误。

if(改进 > 改进) 中的错误:缺少 TRUE/FALSE 的值 需要。

下一步:如果上述功能正常,我在下面的代码中使用 best.m 的值。

tuneRF 函数没有错误 - 运行下面的代码。

rf <-randomForest(classe~.,data=dat3, mtry=best.m, importance=TRUE,ntree=1000)

tuneRF 函数出错 - 运行以下代码。

#Train Random Forest
rf <-randomForest(classe~.,data=dat3, importance=TRUE,ntree=1000)

感谢期待!任何帮助将不胜感激。

【问题讨论】:

别问了,你需要遵循的格式是:我想要什么,我得到什么,这是我的数据的输入,这是我的代码,求助! 我已经编辑了我的问题。如果您需要更多说明,请告诉我。 也许这有帮助:Using R — Basic error Handing with tryCatch() 【参考方案1】:

您需要使用trytryCatch。这应该有效:

mtry <- try(tuneRF(dat3[, -36], dat3[,36], ntreeTry=1000,
  stepFactor=1.5,improve=0.01, trace=TRUE, plot=TRUE))
if (!inherits(mtry, "try-error")) 
  best.m <- mtry[mtry[, 2] == min(mtry[, 2]), 1]
  rf <- randomForest(classe~.,data=dat3, mtry=best.m, importance=TRUE,ntree=1000)
 else 
  rf <- randomForest(classe~.,data=dat3, importance=TRUE,ntree=1000)

但是,给出的错误可能代表tuneRF 函数中的错误。您能否举一个可重现的示例,即使用会产生错误的最小数据集?

【讨论】:

非常感谢!我希望我可以在这里粘贴我的数据。此错误很少发生,因此制作产生此错误的此类数据集非常困难【参考方案2】:

R 等价于 Excel 的 ifERROR 函数

try2 <- function(code, silent = FALSE) 
  tryCatch(code, error = function(c) 
    if (!silent) "Error Message"
    elsecode)

【讨论】:

以上是关于Excel IFERROR 的 R 等效项是啥?的主要内容,如果未能解决你的问题,请参考以下文章

C# 默认关键字在 F# 中的等效项是啥?

MAKEWORD c++ Windows 宏的 C# 等效项是啥?

case/switch 语句的 Python 等效项是啥? [复制]

`Promise.reject` 的可观察等效项是啥

diff 命令的 Windows 等效项是啥?

stringByEvaluatingJavascriptFromString (iOS 方法,Android 等效项是啥?)