当我使用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
答案 0 :(得分:0)
此处,breast_cancer_y
是data.frame。请考虑在y = breast_cancer_y$Class
函数中使用train
。
breast_cancer_x
中还有一个字符列; Id
列。
修复后我仍然收到一些其他错误消息。这些似乎与预处理和控制有关。