Работает ли команда filter для исключения некоторых значений с lm в r? - PullRequest
1 голос
/ 09 апреля 2020

Я новичок в р. Я пытаюсь простой двумерной регрессии. Насколько я понимаю, мне нужно, чтобы DV был переменной уровня интервала, и поэтому я использую команду фильтра, чтобы исключить -1 из целых чисел. Это оставляет мне значения от 1 до 7. В чем я не уверен, так это в том, что использование команды filter - хороший способ сделать это для запуска lm. Я назвал регрессию reg.

В элементах lm я вижу na.action, которое, как я понимаю, показывает, что есть 10 исключенных строк данных. Я правильно понимаю?

reg[["na.action"]]
133  252  352  408  700 1339 1392 1607 1623 1967 
133  252  352  408  700 1339 1392 1607 1623 1967 
attr(,"class")
[1] "omit"

1 Ответ

2 голосов
/ 09 апреля 2020

na.action

na.action удаляет NA из ваших данных (с учетом вашего значения по умолчанию na.option, эквивалентного do na.omit(data)) как из зависимой переменной, так и из ковариат. Вы видите строки, в которых вы есть хотя бы один NA.

есть -1 значения?

Вы можете проверить элементы, которые использовались для соответствия вашей модели в $model части вашего lm объекта.

ols <- lm(
  Sepal.Length ~ Sepal.Width,
  data = iris
)
head(ols$model)
  Sepal.Length Sepal.Width
1          5.1         3.5
2          4.9         3.0
3          4.7         3.2
4          4.6         3.1
5          5.0         3.6
6          5.4         3.9

Это кадр модели, который вы получаете после удаления NA и других операций, необходимых для построения матрицы X. Если вы хотите проверить значение -1 в векторе y, вы можете сделать

which(ols$model$y == -1)

Предполагая, что ваша переменная имеет имя y

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...