R 用于区分现有对象和不存在对象的条件表达式?
包装插入符号 我有一个模型,我称之为模型1,根据数据集,模型1可以有三种结果:R 用于区分现有对象和不存在对象的条件表达式?,r,R,包装插入符号 我有一个模型,我称之为模型1,根据数据集,模型1可以有三种结果: model1 <- train(X[train,], Y[train], method='bag', trControl=myControl, preProcess=PP) 模型1生成一个带有NA的RMSE model1 Pre-processing: centered, scaled Resampling: Cross-Validation (2 fold) Summary of sample siz
model1 <- train(X[train,], Y[train], method='bag', trControl=myControl, preProcess=PP)
模型1生成一个带有NA的RMSE
model1
Pre-processing: centered, scaled
Resampling: Cross-Validation (2 fold)
Summary of sample sizes: 32, 33, 32, 32, 32, 32, ...
Resampling results across tuning parameters:
nprune RMSE Rsquared RMSE SD Rsquared SD
NA NA NA NA NA
NA NA NA NA NA
NA NA NA NA NA
model1产生如下错误,并生成不存在的model1
+ Fold1.Rep1: vars=3
model fit failed for Fold1.Rep1: vars=3 Error in bag.default(trainX, trainY, vars =
tuneValue$.vars, ...) :
entrada en evaluacion: recursivo por defecto o problemas anteriores?
model1
Error: objeto 'model1' no encontrado
我希望能够用一个条件表达式来区分这三个结果。我可以在NA的RMSE或带有数字结果的RMSE之间进行
if(model1$results$RMSE[1]=="NA")0 else model1
但是,当model1失败时(如第三种情况),我无法找到一种方法来组合任何条件表达式,因为该模型不存在,但是我希望能够区分model1(当它不存在时)、model1(当它生成RMSE结果时)和model1(当它生成带有NA的RMSE时)。你知道我是否可以通过条件表达式区分一个不存在的对象和一个存在的对象吗
谢谢你不确定,但可能
存在
或结果“%in%names(model1)
就是你要找的。你要找的存在
和是.na
:
if (!exists("model1")) {
# Model not built
} else if (is.na(model1$results$RMSE[1])) {
# Model built with NA
} else {
# Model built properly
}
if (!exists("model1")) {
# Model not built
} else if (is.na(model1$results$RMSE[1])) {
# Model built with NA
} else {
# Model built properly
}