Ошибка "длина dimnames" [1] не равна экстенту массива "в сводке линейной регрессии в r

Я использую прямую модель линейной регрессии, подходящую для следующего кадра данных:

> str(model_data_rev)
'data.frame':   128857 obs. of  12 variables:
 $ ENTRY_4 : num  186 218 208 235 256 447 471 191 207 250 ...
 $ ENTRY_8 : num  724 769 791 777 707 237 236 726 773 773 ...
 $ ENTRY_12: num  2853 2989 3174 3027 3028 ...
 $ ENTRY_16: num  2858 3028 3075 2992 3419 ...
 $ ENTRY_20: num  7260 7188 7587 7560 7165 ...
 $ EXIT_4  : num  70 82 105 114 118 204 202 99 73 95 ...
 $ EXIT_8  : num  1501 1631 1594 1576 1536 ...
 $ EXIT_12 : num  3862 3923 4158 3970 3895 ...
 $ EXIT_16 : num  1559 1539 1737 1681 1795 ...
 $ EXIT_20 : num  2145 2310 2217 2330 2291 ...
 $ DAY     : Ord.factor w/ 7 levels "Sun"<"Mon"<"Tues"<..: 2 3 4 5 6 7 1 2 3 4 ...
 $ MONTH   : Ord.factor w/ 12 levels "Jan"<"Feb"<"Mar"<..: 3 3 3 3 3 3 3 3 3 3 ...

Я разделил данные на обучающие и тестовые наборы следующим образом, используя пакет caret:

split<-createDataPartition(y = model_data_rev$EXIT_20, p = 0.7, list = FALSE)
d_training = model_data_rev[split,]
d_test = model_data_rev[-split,]

Я тренирую модель, используя функцию поезда из пакета карет:

ctrl<-trainControl(method = 'cv',number = 5)
lmCVFit<-train(EXIT_20 ~ ., data = d_training, method = 'lm', trControl = ctrl, metric='Rsquared')
summary(lmCVFit)

Когда я бегу summary(lmCVFit) Я получаю следующую ошибку:

Error in summary.lm(object$finalModel, ...) : 
  length of 'dimnames' [1] not equal to array extent
In addition: Warning message:
In cbind(est, se, tval, 2 * pt(abs(tval), rdf, lower.tail = FALSE)) :
  number of rows of result is not a multiple of vector length (arg 1)

Я подумал, что это может быть связано с моим начальным кадром данных выше. В частности, я думал, что это может иметь отношение к факторам. Поэтому я их отключил (не показано), снова запустил все и получил ту же ошибку.

Я также запустил регрессию без CV, используя функцию 'lm' в R, и получил ту же ошибку, когда запустил summary()

Кто-нибудь видел это и кто-нибудь может помочь? Я не могу найти ничего в Интернете, что говорит об этой ошибке в контексте регрессии.

Заранее спасибо.

РЕДАКТИРОВАТЬ

Я изменил порядковый номер переменной для стандартных символьных переменных. Структура теперь выглядит так:

> str(model_data_rev)
'data.frame':   128857 obs. of  12 variables:
 $ ENTRY_4 : num  186 218 208 235 256 447 471 191 207 250 ...
 $ ENTRY_8 : num  724 769 791 777 707 237 236 726 773 773 ...
 $ ENTRY_12: num  2853 2989 3174 3027 3028 ...
 $ ENTRY_16: num  2858 3028 3075 2992 3419 ...
 $ ENTRY_20: num  7260 7188 7587 7560 7165 ...
 $ EXIT_4  : num  70 82 105 114 118 204 202 99 73 95 ...
 $ EXIT_8  : num  1501 1631 1594 1576 1536 ...
 $ EXIT_12 : num  3862 3923 4158 3970 3895 ...
 $ EXIT_16 : num  1559 1539 1737 1681 1795 ...
 $ EXIT_20 : num  2145 2310 2217 2330 2291 ...
 $ DAY     : Factor w/ 7 levels "Friday","Monday",..: 2 6 7 5 1 3 4 2 6 7 ...
 $ MONTH   : Factor w/ 12 levels "April","August",..: 8 8 8 8 8 8 8 8 8 8 ...

Я все еще получаю ошибку при выполнении резюме после подгонки модели.

Также важно подчеркнуть, что примерка модели работает без ошибок. Это резюме (), которое выбрасывает ошибку.

Благодарю.

0 ответов

Другие вопросы по тегам