Nico, I expect there are many better ways to do this, but this does work: max_row <- (1:nrow(df))[which.max(df$Amount)] mean(df$Amount[max_row + c(-1, 0, 1)])
> max_row <- (1:nrow(df))[which.max(df$Amount)] > mean(df$Amount[max_row + c(-1, 0, 1)]) [1] 151.6667 R. Mark Sharp, Ph.D. Director of Primate Records Database Southwest National Primate Research Center Texas Biomedical Research Institute P.O. Box 760549 San Antonio, TX 78245-0549 Telephone: (210)258-9476 e-mail: msh...@txbiomed.org > On Sep 21, 2015, at 9:52 AM, Nico Gutierrez <nico.gutierr...@gmail.com> wrote: > > Hi All, > > I need to do the following operation from data.frame: > > df <- data.frame(Year = c("2001", "2002", "2003", "2004", "2005", "2006", > "2007"), Amount = c(150, 120, 175, 160, 120, 105, 135)) > df[which.max(df$Amount),] #to extract row with max Amount. > > Now I need to do 3 years average around the max Amount value (ie: > mean(120,175,160)) > > Thanks! > N > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.