gpt4 book ai didi

r - Excel IFERROR 的 R 等效项是什么?

转载 作者:行者123 更新时间:2023-12-02 10:27:27 25 4
gpt4 key购买 nike

我正在尝试将 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 (Improve > Improve) { 中的错误:缺少值,其中 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)

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

最佳答案

您需要使用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 函数中存在错误。您能否给出一个可重现的示例,即使用会产生错误的最小数据集?

关于r - Excel IFERROR 的 R 等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31214361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com