R числовые и категориальные переменные в множественной линейной регрессии - PullRequest
0 голосов
/ 08 января 2019

У меня есть кадр данных, который выглядит примерно так:

BMI<-c(13.4,14,15.6,16,13.4,12.9,17.7,18.3,17,16.5)
sport<-c(1,2,2,3,2,1,1,3,1,2)
social<-c("low","middle","middle","low","high","low","middle","middle","high","middle")
smoker<-c(1,0,0,1,2,3,2,2,2,1)

status<-c("low","high","low","middle","low","middle","middle","middle","high","low")
social<-as.factor(social)
status<-as.factor(status)
sport<-as.integer(sport)
smoker<-as.integer(smoker)

df<-data.frame(BMI,sport,social,status,smoker)

Я хочу выполнить множественную линейную регрессию для переменной "BMI" , но я не знаю, как обращаться с категориальными переменными или, скажем, с различными форматы в целом.

Как мне нужно преобразовать эти переменные, чтобы получить значимый результат?

1 Ответ

0 голосов
/ 08 января 2019

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

glm(data=iris,formula=Sepal.Width~Sepal.Length+Petal.Length+factor(Species))

Используя ваши данные:

glm(data=df,BMI~sport+social+status+smoker,family="gaussian")

Если вы хотите линейную модель:

library(tidyverse)
df1<-df %>% 
  mutate_if(is.character,as.factor)
lm(BMI~sport+social+status+smoker,data=df1)
...