Почему количество наблюдений уменьшается при использовании model.matrix в регрессии гребня? - PullRequest
0 голосов
/ 24 февраля 2019

Я использую пакет glmnet в R для регрессии гребня.Я примерил набор данных Hitters из пакета ISLR.Проблема в том, что когда я использую model.matrix для создания матрицы проекта, количество наблюдений уменьшается по неизвестной причине.Это код.

library(ISLR)
library(glmnet)

data("Hitters")

set.seed(1)
train=sample(1:nrow(Hitters), nrow(Hitters)/2)
test=(-train)

train.data = Hitters[train,]
test.data = Hitters[test,]
train.x=model.matrix(Salary~.,train.data)[,-1]
train.y=train.data$Salary

В коде я пытаюсь предсказать переменную зарплаты, используя все остальные переменные.Train.data имеет 161 наблюдений, в то время как train.x имеет 131. Я не понимаю, почему это произойдет, и буду признателен за любую помощь.

1 Ответ

0 голосов
/ 24 февраля 2019

У вас есть NA значения в поле Зарплата.

Вы можете определить проблему следующим образом:

missing.players <- setdiff(rownames(train.data), rownames(train.x))
train.data[missing.players, ]
...