My dataset comes from a survey with 5 waves that has a general score (variable GScore). I am trying to do the following:

1) I am trying to generate a new variables that shows the General Score increase from each wave to the next (so that a decrease in scores will be a negative value). What code would work best for this? I am currently trying to use the following unsuccessfully:

bysort id: gen GScore_increase = GScore - GScore[_n-1]

2) What code would calculate the overall mean increase (or potential decrease) in the GScore across all waves for all participants?

3) Is there an efficient code I could use to determine how many participants decreased or maintained the same GScore across all waves (i.e. how many never increased their Gscore across all the waves)?