Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用于区分现有对象和不存在对象的条件表达式?_R - Fatal编程技术网

R 用于区分现有对象和不存在对象的条件表达式?

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

包装插入符号

我有一个模型,我称之为模型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 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
}