что означает «~ 0» в матрице модели R - PullRequest
1 голос
/ 12 января 2020

Я пытаюсь понять матрицу модели в R (model.matrix), преобразовать категориальные переменные в фиктивные переменные и наткнулся на следующий код

# Option 2: use model.matrix() to convert all categorical variables in the data frame into a set of dummy variables. We must then turn the resulting data matrix back into 
# a data frame for further work.
xtotal <- model.matrix(~ 0 + REMODEL, data = df)
xtotal <- as.data.frame(xtotal)

Может кто-нибудь помочь мне понять, что "~ 0 "здесь значит? А что код пытается сделать?

1 Ответ

2 голосов
/ 12 января 2020

+ 0 означает, что у модели не будет пересечения, т. Е. Столбец 1 с. При наличии факторной переменной, когда присутствует перехват, один из уровней будет удален, чтобы гарантировать, что матрица модели имеет полный ранг, что требуется в обычной регрессии наименьших квадратов. Когда перехват отсутствует, все уровни фактора могут остаться.

Итак, этот код является способом преобразования фактора в матрицу, где присутствуют фиктивные переменные для всех уровней. Пропуск + 0 заменит один из манекенов столбцом 1, что может оказаться бесполезным для вашей цели.

...