как регрессировать безработицу по минимальной заработной плате в r

У меня есть два разных набора данных, в одном из которых указан годовой уровень безработицы по штатам (указан в одном столбце), а во втором наборе данных - минимальная заработная плата для каждого штата. У обоих есть данные только за период с 2003 по 2020 год.

Проблема в

  1. Они находятся в разных наборах данных
  2. Переменная X (минимальная заработная плата) охватывает более 17 различных столбцов.

Вопросов

  1. Как я могу регрессировать данные из 2 разных наборов данных
  2. Как я могу регрессировать 17 столбцов, не набирая minwage$2003 + minwage$2004 +. . . + minwage$2020

Я пробовал это, но опять же, это очень неэффективно.

unemp_minwage2015 <- 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 (формула = безработица_03_20$ U-3 ~ minwage$ +: длина переменной различается (найдено для 'minwage$ 2003')

Затем я попытался просто регрессировать на один год минимальной заработной платы, но получил аналогичную ошибку.

Предложения

1 ответ

Чтобы получить точную формулу в вашем вопросе:

      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() с этими данными (а не с отдельными векторами из нескольких наборов данных.

Другие вопросы по тегам