我正在尝试对下面的数据进行线性回归
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?
答案 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)