对两个分类因素运行回归

时间:2018-06-18 13:57:23

标签: r regression lm

我想在我整理的时间序列数据集上运行LM。

其中一个变量X?是分类的:地理地区:中东,东欧,北非等。

MyModel <- lm(Y ~ X1 + x2 + x3, Data = mydataset)

目前,我已经能够将我的模型作为每个分类变量的单独回归运行 - 区域使用以下代码查看下面的数据。

Model1MEAST&EE<- y ~ B1X1 + B2X2 +  B3X3 + factor(COND$name) + factor(COND$Year), data=mydataset, Region==  "Middle East")). 

哪个工作正常。

现在我想进行回归但是在两个或更多区域合并但仍然遗漏所有其他区域,例如,中东东欧<的回归/ strong>国家只说。

我尝试过使用&#39; +&#39;命令和&#39; c&#39;和&#39;列出&#39;用上面的代码命令,但似乎不起作用。 enter image description here 任何人都可以提供运行两个分类因素的回归的代码,而不仅仅是一个?

我已经在我的数据集的一个小RANDOM样本(只有4个变量)的图像中添加了一个链接,这个样本来自我对35岁以上每个国家的时间序列研究,其中有50多个经济和发展指标变量,例如GDP ;我已经制作了分类变量,我希望在 BOLD 的子集回归中合并两个区域。

1 个答案:

答案 0 :(得分:1)

虚拟变量!

我首先要做的是:使用fastDummies包创建虚拟变量列。

示例 df <- dummy_cols(df, select_columns = "Region")

如果为了运行更整洁的回归而希望保留其中一个虚拟列,则可以添加一个额外的参数(简单的解释:删除最频繁的分类变量):

df <- dummy_cols(df, select_columns = "Region", remove_most_frequent_dummy = TRUE)

子集

如果您希望对数据进行子集化,可以通过索引查找进行拆分

ind <- which(df$Region == "Middle East" | df$Region == "East Europe")

,然后创建一个仅由中东欧洲行组成的新数据框。

newdf <- df[ind, ]

完成此操作后,您可以运行回归记忆,以排除一个虚拟变量。

示例 lm(data = mydataset, Y ~ Xi + Middle East)

或者

代替拆分数据,您可以在回归中运行所有虚拟变量(一个除外),以便只有一个模型。确定哪种方法更好归结为样本量可用性以及用于拆分/不拆分的逻辑参数的组合,例如我们期望GDP在全球范围内以同样的方式影响失业率吗?如果是,那么拥有完整的模型可能会很好。如果没有,那么分裂可能是更好的方向。