繁体   English   中英

R - 当一个变量是二元因子时使用预测函数

[英]R - using predict function when one variable is a binary factor

我的线性模型试图根据变量性别,收入,口头和状态来预测赌博的数量。 性是二元变量,是“男性”或“女性”(它们是因素),而其余的都是数字。

lm3 <- lm(gamble ~ sex + status + income + verbal, data=teengamb)

那是我的线性模型。 我无法预测具有平均身份,收入和口头表达的男性的功能:

newdata <- c(as.factor("Male"), mean(teengamb$status), mean(teengamb$income), mean(teengamb$verbal))
newdata <- data.frame(newdata)
predict(lm3, newdata) 

我不知道该怎么做。

请注意,我将其转换为男性和女性的方式是:

但是,我已将0 =男性,1 =女性转换为“男性”和“女性”。

teengamb$sex[teengamb$sex==0] <- "Male"
teengamb$sex[teengamb$sex==1] <- "Female"
teengamb$sex <- as.factor(teengamb$sex)

当您创建newdata数据帧,你必须确保每列有一个名字:

newdata <- data.frame(sex=0, status=mean(teengamb$status),
                      income=mean(teengamb$income),
                      verbal=mean(teengamb$verbal))
predict(lm3, newdata)
# 28.24252

另请注意, sex表示为0 =男性,1 =女性(您可以通过help(teengamb)看到这一点)。

(这意味着它应该是:

newdata <- data.frame(sex=factor("Male", levels=c("Female", "Male")), 
                      status=mean(teengamb$status),
                      income=mean(teengamb$income),
                      verbal=mean(teengamb$verbal))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM