Solution

For most grades, this is just a straightforward expansion of the previous command:

by school: gen peerGroup=students[_n-2]+students[_n-1]+students+students[_n+1]+students[_n+2]

The problem grades are 1, 2, 11 and 12. They'll have to be handled individually:

replace peerGroup=students+students[_n+1]+students[_n+2] if grade==1
replace peerGroup=students[_n-1]+students+students[_n+1]+students[_n+2] if grade==2
replace peerGroup=students[_n-2]+students[_n-1]+students+students[_n+1] if grade==11
replace peerGroup=students[_n-2]+students[_n-1]+students if grade==12

Last Revised: 1/26/2010