Intro
When looking into a research topic we wanted to do one that had an interesting question and background that would be intriguing to not only us but also the audience. We feel that minimum wage is a topic that can affect everyone at some point in time and could be looked at even closer in the case for governors or other members of council that could be looking to increase population. This question is looking to answer if minimum wage rates have an effect on the population and growth of a state. Once we found our data for population rates and minimum wage, we then created visualizations that helped to show the changes over time. For the points in time, we used 1990, 2000, and 2010 we felt that these three points were suitable since they were found in both our data sets.
Question
When minimum wage on the state level is higher than the federal minimum wage does that influence population change from 1990-2010?
Background
Treatment Group
States that have a higher state minimum wage then federal minimum wage
Control Group
States that have a state minimum wage equal to that of the federal minimum wage
Pre-Treatment
1990-1999
Post-Treatment
2000-2010
Data
- Population data at state level in 1990, 2000, and 2010
- State and Federal minimum wages at state level in 1990, 2000, and 2010
Equation
mlm <- lm(Population ~ treated+ treated_group + treat_time , data=data)
treated: If the state was part of the treatment group from got a 1 for 2000 and 2010
treat_group: If the state minimum wage was higher than the federal minimum wage it got a 1
treat_time: For all states in 2000 and 2010 to show that it was during the treatment period
-Difference in differences to see if having a higher state minimum wage will have greater population increases after 2000
Analysis
When analyzing our data, we looked at the control group being all the states that followed the federal minimum wage with their state minimum wage. And then our treatment group was the states that had a higher state minimum wage for all three years that we looked at. We then also had to have a treatment time for all the states, so we knew then they were part of the treatment time and so all states got a 1 for 2000 and 2010. When we did this, we seen that we got a coefficient on the treated groups of –0.047 in R. This told us that we should be seeing a decrease of 4.7 percent in the population in the treated group during the treatment time due to them being able to have a higher minimum wage then the federal minimum wage. This is what we ended up seing in the data when we put it into a visualization that even though there was a decrease it was only a slower increase in population that was occurring. And the treatment group was basically doing the exact same thing as the control group. And we were able to say that 4.7% was not very much when you are talking about the 40,000 population change when there is an average population of about 6.5 million.
Conclusion
After analyzing the results, we found that there is a 46,609 increase within the treated groups from 1990 to 2000. However, one point we found interesting was that from 2000 to 2010 it had a slower increase of only 6,125. The overall increase from 1990 to 2010 was 40,484. This was very small relative to the entire treated group. With this we feel that there is a change, but not significant enough resulting in us concluding that having a higher state minimum wage than federal minimum wage does not have a large effect either direction in change in population.
setwd("~/AREC_ps12")
# This script demonstrates how to estimate a difference in differences model using the did package
# load packages
library(pacman)
p_load(tidyverse,did,fixest,modelsummary)
# call in dataset
data=read.csv("Population_min_wage_chart_new.csv")
#########4 years of data for each county in Colorado Counties#######
#### First treat, first year the policy was implemented##############
data$log_value=log(data$Population)
# create binary treatment indicator
mlm <- lm(log_value ~ treated + treated_group + treat_time + Year + State,
data=data)
summary(mlm)
# generate regression table
modelsummary(mlm,coef_map = "treated",output = "markdown")
##-0.037 is the value of the shift of the treatment (average treatment affect on the treated units)
# create binary treatment indicator#### same as above but simpler outcome
felm <- feols(log_value ~ treated | treated_group + treat_time,
data=data)
summary(felm)
summary(data$log_value)
sink.number()
while (sink.number()>0) sink()
sink("Project_3.R.txt")
source("Project_3.R",echo=TRUE)
sink()
> setwd("~/AREC_ps12")
> # This script demonstrates how to estimate a difference in differences model using the did package
>
> # load packages
> library(pacman)
> p_load(tidyverse,did,fixest,modelsummary)
> # call in dataset
> data=read.csv("Population_min_wage_chart_new.csv")
> #########4 years of data for each county in Colorado Counties#######
> #### First treat, first year the policy was implemented##############
>
> da .... [TRUNCATED]
> # create binary treatment indicator
> mlm <- lm(log_value ~ treated + treated_group + treat_time + Year + State,
+ data=data)
> summary(mlm)
Call:
lm(formula = log_value ~ treated + treated_group + treat_time +
Year + State, data = data)
Residuals:
Min 1Q Median 3Q Max
-0.179916 -0.027853 -0.000651 0.028383 0.153132
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) -5.608056 2.995602 -1.872 0.065 .
treated -0.047353 0.032588 -1.453 0.150
treated_group 0.252483 0.059100 4.272 5.48e-05 ***
treat_time 0.035983 0.026873 1.339 0.185
Year 0.009355 0.001505 6.215 2.44e-08 ***
StateAL 2.174195 0.054962 39.558 < 2e-16 ***
StateAR 1.659253 0.054962 30.189 < 2e-16 ***
StateAZ 2.286235 0.054962 41.597 < 2e-16 ***
StateCA 3.980689 0.054962 72.426 < 2e-16 ***
StateCO 2.112063 0.054962 38.428 < 2e-16 ***
StateCT 1.698666 0.054962 30.906 < 2e-16 ***
StateDC -0.052992 0.054962 -0.964 0.338
StateFL 3.445060 0.054962 62.681 < 2e-16 ***
StateGA 2.770458 0.054962 50.407 < 2e-16 ***
StateID 0.927844 0.054962 16.882 < 2e-16 ***
StateIN 2.485591 0.054962 45.224 < 2e-16 ***
StateKS 1.671474 0.054962 30.412 < 2e-16 ***
StateKY 2.079627 0.054962 37.838 < 2e-16 ***
StateLA 2.172829 0.054962 39.533 < 2e-16 ***
StateMD 2.351514 0.054962 42.784 < 2e-16 ***
StateMO 2.404732 0.054962 43.753 < 2e-16 ***
StateMS 1.716248 0.054962 31.226 < 2e-16 ***
StateMT 0.577236 0.054962 10.502 < 2e-16 ***
StateNC 2.767264 0.054962 50.349 < 2e-16 ***
StateND 0.260667 0.054962 4.743 9.50e-06 ***
StateNE 1.221844 0.054962 22.231 < 2e-16 ***
StateNH 0.886648 0.054962 16.132 < 2e-16 ***
StateNJ 2.806934 0.054962 51.071 < 2e-16 ***
StateNY 3.622271 0.054962 65.905 < 2e-16 ***
StateOK 1.925400 0.054962 35.032 < 2e-16 ***
StateOR 1.674899 0.054962 30.474 < 2e-16 ***
StatePA 3.198161 0.054962 58.189 < 2e-16 ***
StateRI 0.502887 0.054962 9.150 6.17e-14 ***
StateSC 2.079759 0.054962 37.840 < 2e-16 ***
StateSD 0.406794 0.054962 7.401 1.43e-10 ***
StateTN 2.413535 0.054962 43.913 < 2e-16 ***
StateTX 3.721358 0.054962 67.708 < 2e-16 ***
StateUT 1.477875 0.054962 26.889 < 2e-16 ***
StateVA 2.643032 0.054962 48.088 < 2e-16 ***
StateVT -0.044486 0.054962 -0.809 0.421
StateWA 2.222998 0.054962 40.446 < 2e-16 ***
StateWI 2.358339 0.054962 42.909 < 2e-16 ***
StateWV 1.287623 0.054962 23.428 < 2e-16 ***
StateWY NA NA NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.06731 on 77 degrees of freedom
Multiple R-squared: 0.9974, Adjusted R-squared: 0.996
F-statistic: 700 on 42 and 77 DF, p-value: < 2.2e-16
> # generate regression table
> modelsummary(mlm,coef_map = "treated",output = "markdown")
| | Model 1 |
|:--------|:-------:|
|treated | -0.047 |
| | (0.033) |
|Num.Obs. | 120 |
|R2 | 0.997 |
|R2 Adj. | 0.996 |
|AIC | -272.3 |
|BIC | -149.7 |
|Log.Lik. | 180.155 |
|F | 699.968 |
> ##-0.037 is the value of the shift of the treatment (average treatment affect on the treated units)
>
>
> # create binary treatment indicator#### .... [TRUNCATED]
> summary(felm)
OLS estimation, Dep. Var.: log_value
Observations: 120
Fixed-effects: treated_group: 2, treat_time: 2
Standard-errors: Clustered (treated_group)
Estimate Std. Error z value Pr(>|z|)
treated -0.047353 3.76e-15 -1.25934e+13 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Log-likelihood: -173.88 Adj. R2: 0.0211
R2-Within: 8e-05
> summary(data$log_value)
Min. 1st Qu. Median Mean 3rd Qu. Max.
13.02 14.27 15.15 15.02 15.64 17.43
> sink("Project 3.R.txt")