Hi all,

I'm creating my own moving average code since I only want the top four of the previous seven years average for my variable max_yield. I'm getting the error in the forvalues loop. I included the rest in case it can help provide context.

Thanks in advance.

sort nrate_year // sort the data by year before running "by nrate_year"
by nrate_year, sort: egen max_yield = max(cornyieldbuac)
egen j = seq(), f(1) t(47) //generates repeating sequence to isolate each year's max yield
xtset j nrate_year
sort j max_yield

forvalues y = 2016/2020 {
// generate a variable that is equal to 1 for the years that are within the previous seven years of the current year
gen in_range = (nrate_year >= `y'-7 & nrate_year <= `y'-1)

// tag the top four observations in each group
by j: egen top_four = tag(max_yield, tag(1 2 3 4) group)

// generate the moving average of the best four years for the current year
by j: egen ma = mean(max_yield) if nrate_year == `y' & top_four == 1

// drop the intermediate variables
drop in_range top_four
}