2013-01-31 40 views
2

我使用lm()对连续结果变量上的多个因子变量进行回归。例如,生成因子变量水平的预测值

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

我想,同时在它们的中值或模态值保持其他变量以产生用于不同水平的因子变量的预测值(yhat)。例如,如何在不同的工作日生成yhat,同时保持其他因素不变?

+1

您是否熟悉'predict.lm'? – Roland

+0

不!我做了一些Google搜索,但是在保持不变的情况下很快就变得非常困惑。 – roody

+0

那么第一步就是阅读帮助页面:'?predict.lm'。你对'newdata'参数感兴趣,并且想研究这些例子。 – Roland

回答

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。