0

我有两个不同的数据集,一个具有各州的年失业率(列在单列下),第二个数据集具有每个州的最低工资。两者都只有 2003-2020 年之间的数据。

问题是

  1. 它们在不同的数据集中
  2. X 变量(最低工资)跨越 17 个不同的列

问题

  1. 如何从 2 个不同的数据集中回归数据
  2. 如何在不必输入 minwage$2003 + minwage$2004 + 的情况下回归 17 列。. . + 最低工资$2020

我试过这个,但同样,它非常低效。

unemp_minwage <- lm(unemployment_03_20$`U-3` ~ minwage$`2003` + minwage$`2004` + minwage$`2005` + minwage$`2006` + minwage$`2007` + minwage$`2008` + minwage$`2009` + minwage$`2010` + minwage$`2011` + minwage$`2012` + minwage$`2013` + minwage$`2014` + minwage$`2015` + minwage$`2016` + minwage$`2017` + minwage$`2018` + minwage$`2019` + minwage$`2020`)

更不用说我得到了这个错误代码:model.frame.default中的错误(公式=失业U-3_03_20$〜minwage$ 2003+:可变长度不同(找到'minwage$ 2003')

然后我尝试只回归一年的最低工资,但得到了类似的错误。

建议?

4

1 回答 1

0

要在您的问题中获得确切的公式:

as.formula(paste("unemployment_03_20$`U-3` ~", paste(paste0("minwage$`", 2003:2020, "`"), collapse = " + ")))

所以你可以做这样的事情(为了清楚起见):

model <- as.formula(paste("unemployment_03_20$`U-3` ~", paste(paste0("minwage$`", 2003:2020, "`"), collapse = " + ")))

unemp_minwage2015 <- lm(model)

我强烈建议先合并数据,以免无意中出错,然后再提供lm()该数据(而不是来自多个数据集的单个向量。

于 2021-05-07T03:00:19.887 回答