将虚拟变量与R结合到回归中

时间:2014-02-01 21:09:29

标签: r regression

我想知道如何进行固定回归,同时让一些数据点对应于聚合虚拟类别“非工业化”,其他数据点对应于它们各自的国家名称。我第一次回归:

reg1 <- lm(birthrate ~ country*year)

并希望将“国家”数据分为非工业化数据,但将所有工业化数据点分解为分类。我为工业化做了一个逻辑TRUE / FALSE列,但是无法弄清楚如何正确地对它进行子集化而不仅仅是将它分成两个聚合组。有没有办法为FALSE点做这件事并将所有其他点作为单独的国家?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的问题并不完全清楚,但我假设您的数据框格很长,看起来像这样:

country<-(rep(c("A","B","C"),4))
birthplace<-rep(c("x","y"),6)
year<-c(2001:2012)
df<-data.frame(country,birthplace,year)

> df
   country birthplace year
1        A          x 2001
2        B          y 2002
3        C          x 2003
4        A          y 2004
...

在这种情况下,您可以轻松添加一个新列,将每个行定义为非工业化,或者给出原始国家/地区值:

df$country.agg<-ifelse(df$country=="A"|df$country=="B","nonindustrialized",as.character(df$country))

现在,您可以在回归中使用此列,这会将所有非工业化国家合并为一个类别。这是你在找什么?