Я работаю с данными панели. В частности, я имею дело с данными, которые структурированы для анализа продолжительности. Я смотрю, когда штат США принимает политику. У меня есть около 500 различных политик, 50 штатов, и данные охватывают 40 лет. В R я хотел бы построить новую переменную, которая будет подсчитывать количество штатов, принявших политику в предыдущие годы.
Вот пример набора данных (в одной области политики, закодированной как «A»). «Государство» - это название государства. «Политика» - это конкретная область политики. «Принять» означает, что государство официально внедрило политику в данный «год». Наблюдения, закодированные как ноль, указывают, что оно не было принято, а 1 указывает, что оно было принято в этом году.
State Year Policy Adopt
1 1970 A 0
1 1971 A 0
1 1972 A 1
2 1970 A 0
2 1971 A 0
2 1972 A 0
2 1973 A 1
3 1970 A 0
3 1971 A 0
3 1972 A 0
3 1973 A 0
3 1974 A 1
Мне бы хотелось, чтобы новый набор данных выглядел следующим образом.
State Year Policy Adopt Adopters_Count
1 1970 A 0 0
1 1971 A 0 0
1 1972 A 1 0
2 1970 A 0 0
2 1971 A 0 0
2 1972 A 0 0
2 1973 A 1 1
3 1970 A 0 0
3 1971 A 0 0
3 1972 A 0 0
3 1973 A 0 1
3 1974 A 1 2
У кого-нибудь есть предложения или R-код, который может создать такую переменную? Я ценю любую помощь
Вот код для получения образца набора данных:
df1 <- data.frame(State = c(1,1,1,2,2,2,2,3,3,3,3,3), year=c(1970,1971,1972, 1970,1971,1972,1973,1970,1971,1972,1973,1974), Policy=c("A","A","A","A","A","A","A","A","A","A","A","A"), Adopt=c(0,0,1,0,0,0,1,0,0,0,0,1))