四分之一虚拟的线性回归

时间:2015-04-17 19:18:05

标签: r linear-regression data-fitting dummy-data

我正在尝试对下面的数据进行线性回归

Power<-mutate(Power,Year=format(Date,"%Y"),Quarter=quarters(Date),Month=format(Date,"%m"))
head(Power)
       Date    YY    XX  Year    Quarter
2007-01-01     NA     NA 2007      Q1
2007-01-02     NA     NA 2007      Q1
2007-01-03  55.90  71.40 2007      Q1
2007-01-04  55.25  70.75 2007      Q1

模型是

lm(YY~XX+as.factor(Quarter,ref="Q1"),data=Power)

这很好用。但是,它会在3个季度内自动创建三个假人。有没有办法只包含一个假人,比如这个模型中的Q2?

3 个答案:

答案 0 :(得分:2)

可以说,最常见的方法是使用I()动态创建二分变量。

lm(YY ~ XX + I(Quarter=="Q2"), data=Power)

这包括模型中的二进制预测器,Quarter=="Q2"时为1,否则为0。

答案 1 :(得分:1)

最简单的方法是使用您需要的信息创建新变量......

Power$Q2dummy <- 0
Power$Q2dummy[which(Power$Quarter == 'Q2')] <- 1
lm(YY~XX+Q2dummy,data=Power)

然而,很难说,因为你不提供你的数据甚至是他们的摘要(什么是变量Quarter?我猜4种状态?)。

答案 2 :(得分:0)

一种可能是使用ifelse(rule, if TRUE, if FALSE)命令:

例如:

Power$Q2dummy <- ifelse(Power$Quarter == "Q2",1,0)
lm(YY~XX+Q2dummy,data=Power)