use "final_data" gen ID=_n drop if NUMBERCOMPLETED<2 drop if NUMBERCOMPLETED==. reshape long B1_@ B2_@ B3_@ B4_@, i(ID) j(bin) gen vlo=. gen vhi=. replace vlo=0 if bin==1 replace vhi=10 if bin==1 replace vlo=11 if bin==2 replace vhi=20 if bin==2 replace vlo=21 if bin==3 replace vhi=30 if bin==3 replace vlo=31 if bin==4 replace vhi=40 if bin==4 replace vlo=41 if bin==5 replace vhi=50 if bin==5 replace vlo=51 if bin==6 replace vhi=60 if bin==6 replace vlo=61 if bin==7 replace vhi=70 if bin==7 replace vlo=71 if bin==8 replace vhi=80 if bin==8 replace vlo=81 if bin==9 replace vhi=90 if bin==9 replace vlo=91 if bin==10 replace vhi=100 if bin==10 forval i=1/4{ rename B`i'_ B`i' } rename FINALGRADE Feedback4 gen answerid=_n reshape long B@ Feedback@ Time@, i(answerid) j(round) intreg vlo vhi Feedback [fweight=B], cluster(ID) //Reviewer suggestion to test for coefficient of 1 on Feedback. Coeff =0.31 across rounds xtintreg vlo vhi Feedback round [fweight=B], intreg //xtintreg doesn't allow frequency weights, so for robustness check on main results, I'm just using the change in FB coefficient by round intreg vlo vhi Feedback [fweight=B] if round==1, cluster(ID) intreg vlo vhi Feedback [fweight=B] if round==2, cluster(ID) intreg vlo vhi Feedback [fweight=B] if round==3, cluster(ID) intreg vlo vhi Feedback [fweight=B] if round==4, cluster(ID)