Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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_R Caret - Fatal编程技术网

在R中执行插入符号调整时出错

在R中执行插入符号调整时出错,r,r-caret,R,R Caret,我正在使用caret/R构建预测模型,遇到以下问题: 在尝试执行培训/调整时,出现以下错误: if(tmps

我正在使用caret/R构建预测模型,遇到以下问题:

  • 在尝试执行培训/调整时,出现以下错误:
  • if(tmps<.Machine$double.eps^0.5)0 else tmpm/tmps中出错: 缺少需要TRUE/FALSE的值

    经过一些研究,当数据中缺少值时,似乎会出现此错误,但本例中并非如此(我确认数据集没有NAs)。然而,我也在某处读到缺失值可能是在插入符号中的重新采样例程中引入的,我怀疑这就是正在发生的情况

  • 为了解决问题1,我尝试在插入符号中重新采样期间“预处理”数据,方法是删除零方差和接近零方差的预测值,并使用插入符号knn自动插补方法
    预处理(c('zv','nzv','KNIMPUTE'),
    )自动输入缺失值,但现在我得到以下错误:
  • 错误:预处理需要矩阵或数据帧

    不用说,我检查并确认输入数据集确实是矩阵,所以我不明白为什么会出现第二个错误

    守则如下:

    x.train <- predict(dummyVars(class ~ ., data = train.transformed),train.transformed)
    y.train <- as.matrix(select(train.transformed,class))
    vbmp.grid <- expand.grid(estimateTheta = c(TRUE,FALSE))
    adaptive_trctrl <- trainControl(method = 'adaptive_cv',
                       number = 10, 
                       repeats = 3,
                       search = 'random',
                       adaptive = list(min = 5, alpha = 0.05, 
                                       method = "gls", complete = TRUE),
                       allowParallel = TRUE)
    fit.vbmp.01 <- train( 
                     x = (x.train),
                     y = (y.train),
                     method = 'vbmpRadial',
                     trControl = adaptive_trctrl,
                     preProcess(c('zv','nzv','knnImpute')),
                     tuneGrid = vbmp.grid)
    

    x.train我的数据也有同样的问题,经过一番挖掘,我发现其中一列中有一些
    Inf
    (无限)值


    取出(
    df%filter(!is.infinite(variable))
    )后,计算运行无误。

    提供一个可复制的示例和
    sessionInfo
    的结果将有助于回答您的问题。