R - using predict function when one variable is a binary factor
我的线性模型试图根据变量性别、收入、语言和地位来预测赌博金额。性别是一个二元变量,即"男性"或"女性"(它们是因子),而其余的都是数字。
1 | lm3 <- lm(gamble ~ sex + status + income + verbal, data=teengamb) |
那是我的线性模型。我无法预测具有平均地位、收入和语言能力的男性的功能:
1 2 3 | newdata <- c(as.factor("Male"), mean(teengamb$status), mean(teengamb$income), mean(teengamb$verbal)) newdata <- data.frame(newdata) predict(lm3, newdata) |
我不知道该怎么做。
请注意,我将其转换为男性和女性的方式是:
但是,我已将 0=male, 1=female 转换为"Male"和"Female"。
1 2 3 | teengamb$sex[teengamb$sex==0] <-"Male" teengamb$sex[teengamb$sex==1] <-"Female" teengamb$sex <- as.factor(teengamb$sex) |
当您创建
1 2 3 4 5 | newdata <- data.frame(sex=0, status=mean(teengamb$status), income=mean(teengamb$income), verbal=mean(teengamb$verbal)) predict(lm3, newdata) # 28.24252 |
还要注意
(这意味着它应该是:
1 2 3 4 | newdata <- data.frame(sex=factor("Male", levels=c("Female","Male")), status=mean(teengamb$status), income=mean(teengamb$income), verbal=mean(teengamb$verbal)) |