我使用lm()
在连续结果变量上回归了许多因子变量。例如,
fit<-lm(dv~factor(hour)+factor(weekday)+factor(month)+factor(year)+count, data=df)
我想为因子变量的不同级别生成预测值(yhat
),同时将其他变量保持在其中值或模态值。例如,如何在保持其他因素不变的情况下为不同的工作日生成yhat
?
答案 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。