insongkim / PanelMatch

117 stars 35 forks source link

Matching Error #40

Closed aycankatitas closed 5 years ago

aycankatitas commented 5 years ago

Hello, I tried to use PanelMatch on a balanced panel dataset for 3 consecutive U.S. elections (2012,2014,2016). Even though I see possible matches when I plot the Treatment Distribution, the code gave me the following error:

Error in perform_refinement(lag, time.id, unit.id, treatment, refinement.method, : no viable treated units for att specification

I suspect this is because I don't have many years in my panel, since I know there are eligible units for matching in 2014. Please let me know how to solve this issue. Thanks!

adamrauh commented 5 years ago

Could you upload a picture of the DisplayTreatment plot?

aycankatitas commented 5 years ago

Here is the DisplayTreatment Plot treatmentplotfull

adamrauh commented 5 years ago

@aycankatitas Hm, that is peculiar. The error you're getting is especially odd because it corresponds with a part of the code where it looks for just treated units -- whether or not there are matched controls isn't even relevant at that point. So, any unit that goes from blue to red here should be found. Would you be able to send me either the full data or a part of it and the code you're using to get the error? I really just would need the unit id, time id, and treatment variables from your data. You can send me an email at adamrauh@mit.edu if that works so I can look into this more.

adamrauh commented 4 years ago

should be fixed in this commit

NaijiaLiu commented 3 years ago

I had the same issue - I think the problem is that for us, the unit.id was not integer from 1:N. instead, we had non-contiuous id for each unit such as 1239827450983. I was able to make the code run by creating a new variable that follows 1:N format.