Fix unbalanced panel data for bacon decomposition

Viewed 79

I am trying to do bacon decomposition from bacondecomp and when I run the code,

df_bacon <- bacon(crime_rate ~ treat,
                  data = crime_A,
                  id_var = "sid",
                  time_var = "year")

I got error like this.

> Error in bacon(crime_rate ~ treat, data = crime_A, id_var = "sid", time_var = "year") : 
  Unbalanced Panel

I don't know how to fix this problem. Here is sample data I am using.

crime_A <- structure(list(year = c(1999L, 1999L, 1983L, 2009L, 1984L, 1994L, 
1986L, 2002L, 1983L, 2015L, 1990L, 2016L, 2003L, 2006L, 1996L, 
1992L, 2009L, 1994L, 1984L, 1984L), state_abbr = c("AK", "TX", 
"IN", "ID", "VA", "ND", "DC", "LA", "CO", "WY", "TX", "HI", "ME", 
"WV", "CT", "FL", "ND", "SC", "AK", "CT"), state_name = c("Alaska", 
"Texas", "Indiana", "Idaho", "Virginia", "North Dakota", "District of Columbia", 
"Louisiana", "Colorado", "Wyoming", "Texas", "Hawaii", "Maine", 
"West Virginia", "Connecticut", "Florida", "North Dakota", "South Carolina", 
"Alaska", "Connecticut"), population = c(619500L, 20044141L, 
5479000L, 1545801L, 5636000L, 638000L, 626000L, 4476192L, 3139000L, 
586555L, 16986510L, 1428683L, 1309205L, 1818470L, 3274000L, 13488000L, 
646844L, 3664000L, 500000L, 3154000L), violent_crime = c(3908L, 
112306L, 15547L, 3805L, 16660L, 522L, 9423L, 29690L, 14955L, 
1300L, 129343L, 3452L, 1422L, 5113L, 13490L, 162827L, 1723L, 
37756L, 3108L, 12422L), homicide = c(52L, 1217L, 286L, 24L, 434L, 
1L, 194L, 593L, 202L, 16L, 2389L, 35L, 16L, 80L, 158L, 1208L, 
12L, 353L, 58L, 122L), rape_legacy = c(517L, 7614L, 1509L, 575L, 
1503L, 149L, 328L, 1529L, 1316L, 124L, 8750L, 432L, 354L, 404L, 
755L, 7310L, 296L, 1991L, 458L, 759L), robbery = c(566L, 29405L, 
5474L, 254L, 5765L, 71L, 4720L, 7123L, 3968L, 59L, 44297L, 985L, 
289L, 853L, 5552L, 49482L, 107L, 6817L, 547L, 6009L), aggravated_assault = c(2773L, 
74070L, 8278L, 2952L, 8958L, 301L, 4181L, 20445L, 9469L, 1054L, 
73907L, 1831L, 763L, 3776L, 7025L, 104827L, 1308L, 28595L, 2045L, 
5532L), property_crime = c(23099L, 896261L, 210725L, 31220L, 
196581L, 16933L, 42781L, 198838L, 193070L, 11151L, 1200151L, 
42353L, 32078L, 47941L, 124924L, 964533L, 12813L, 182114L, 27468L, 
133573L), burglary = c(3787L, 190362L, 54147L, 6682L, 47436L, 
2070L, 10815L, 45350L, 48101L, 1762L, 314512L, 5983L, 6579L, 
11579L, 27574L, 254755L, 2426L, 46678L, 6184L, 35607L), larceny = c(16654L, 
613862L, 138929L, 23066L, 138808L, 13899L, 25861L, 133302L, 133271L, 
8797L, 731224L, 30871L, 24043L, 32305L, 81328L, 598093L, 9474L, 
122252L, 18140L, 84630L), motor_vehicle_theft = c(2658L, 92037L, 
17649L, 1472L, 10337L, 964L, 6105L, 20186L, 11698L, 592L, 154415L, 
5499L, 1456L, 4057L, 16022L, 111685L, 913L, 13184L, 3144L, 13336L
), caveats = c("", "", "", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", ""), enacted_year = c(1994, 1995, 
1979, 1990, 1995, 1979, 1979, 1996, 1994, 1979, 1995, 1979, 1985, 
1989, 1979, 1987, 1979, 1996, 1994, 1979), treat = c(1, 1, 1, 
1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1), sid = c(3L, 
45L, 16L, 14L, 48L, 36L, 10L, 20L, 7L, 52L, 45L, 13L, 21L, 50L, 
8L, 11L, 36L, 42L, 3L, 8L), crime_rate = c(8.71896690879742, 
10.0634594418389, 8.25960941777697, 4.53163117374099, 7.56710432931157, 
5.4717868338558, 16.6785942492013, 10.2108220558904, 13.254221089519, 
4.23745428817417, 15.653527416756, 6.40037013109276, 5.11760954166842, 
5.83501515009871, 8.45534514355528, 16.7164887307236, 4.49443760783125, 
12.0016375545852, 12.2304, 9.2577679137603)), class = "data.frame", row.names = c(NA, 
-20L))
0 Answers
Related