【问题标题】:Generating predicted values for levels of factor variable为因子变量的水平生成预测值
【发布时间】:2013-01-31 16:07:34
【问题描述】:

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

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

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

【问题讨论】:

  • 你熟悉predict.lm吗?
  • 不!我做了一点谷歌搜索,但在保持不变时很快就感到很困惑。
  • 那么第一步是阅读帮助页面:?predict.lm。您对newdata 参数感兴趣并希望研究示例。

标签: r regression


【解决方案1】:

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

#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)

方差分析是回归的一种特殊情况。输出将告诉您该因素是否通过 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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-08
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    • 2013-11-26
    相关资源
    最近更新 更多