2

我正在使用 对连续结果变量的多个因子变量进行回归lm()。例如,

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

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

4

1 回答 1

1

我可以根据@Roland 的评论提供帮助。我认为您想要普通的旧方差分析,这有助于确定因素是否重要。这里不需要考虑因素,整数或数字(类:数字)可以正常工作。我将以下代码放在一起作为示例:

#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 - 我建议您添加标签“回归”

HTH。

于 2013-02-04T16:15:07.843 回答