生成因子变量水平的预测值

时间:2013-01-31 16:07:35

标签: r regression

我使用lm()在连续结果变量上回归了许多因子变量。例如,

fit<-lm(dv~factor(hour)+factor(weekday)+factor(month)+factor(year)+count, data=df)

我想为因子变量的不同级别生成预测值(yhat),同时将其他变量保持在其中值或模态值。例如,如何在保持其他因素不变的情况下为不同的工作日生成yhat

1 个答案:

答案 0 :(得分:1)

我可以根据@Roland的评论提供帮助。我想你想要简单的ANOVA,这有助于确定因素是否重要。这里没有必要考虑因素,整数或数字(类:数字)工作得很好。我把以下代码放在一起作为例子:

#creates df
(df <- data.frame(h=c(1,3,4,0,2, 3),d=c(2*1:3), m=c(-1, 0, 3, 4, 7, 8), y=c(30,28,27,26,22, 21)))

#creates linear model, gives output
(fit<-lm(df$d~ df$h + df$m+ df$y))

#runs ANOVA on linear model
anova(fit)

#creates predictions from lm based on different values of df$h
predict.lm(fit)

ANOVA是回归的一个特例。输出将通过P值告诉您该因子是否显着。

> anova(fit)
Analysis of Variance Table

Response: df$d
          Df  Sum Sq Mean Sq F value  Pr(>F)  
df$h       1 13.2923 13.2923 89.5846 0.01098 *
df$m       1  2.2832  2.2832 15.3879 0.05927 .
df$y       1  0.1277  0.1277  0.8608 0.45147  
Residuals  2  0.2968  0.1484     

在此示例中,小时与您的因变量天数高度相关,而月份则显示次高的相关性。

请参阅背景链接

http://www.cookbook-r.com/Statistical_analysis/ANOVA/

仅供参考 - 我建议您添加一些源代码来创建示例。通过这种方式,尝试回答您问题的人都可以参考同一个例子。

FYI2 - 我建议你添加标签“regression”

HTH。