插入错误:nrow(x)== n不为TRUE

时间:2017-12-13 00:59:28

标签: r r-caret

当我使用Caret时收到错误Error: nrow(x) == n is not TRUE,任何人都可以提供帮助。见下面的例子

获取威斯康星州乳腺癌数据集并加载所需的文库

library(dplyr)
library(caret)
library(mlbench)
data(BreastCancer)

myControl = trainControl(
method = "cv", number = 5,
repeats = 5, verboseIter = TRUE
)

breast_cancer_y <- BreastCancer %>%
  dplyr::select(Class)

breast_cancer_x <- BreastCancer %>%
  dplyr::select(-Class)

同样将中位数插补应用于缺失数据的模型

model <- train(
  x = breast_cancer_x,
  y = breast_cancer_y,
  method = "glmnet",
  trControl = myControl,
  preProcess = "medianImpute"
  )

获取此错误 -

  

错误:nrow(x)== n不为TRUE

1 个答案:

答案 0 :(得分:0)

此处,breast_cancer_y是data.frame。请考虑在y = breast_cancer_y$Class函数中使用train

breast_cancer_x中还有一个字符列; Id列。

修复后我仍然收到一些其他错误消息。这些似乎与预处理和控制有关。