better ( if year is an vector of more than 1 element): df[ df$Year %in% outer(as.numeric( as.character( year)), -1:1, FUN='+'), ] Year Amount 2 2002 120 3 2003 175 4 2004 160
On Mon, Sep 21, 2015 at 10:49:34PM +0200, Frank Schwidom wrote: > > year <- df$Year[ which.max( df$Amount)] > df[ df$Year %in% (as.numeric( as.character( year)) + -1:1), ] > Year Amount > 2 2002 120 > 3 2003 175 > 4 2004 160 > > > On Mon, Sep 21, 2015 at 04:52:46PM +0200, Nico Gutierrez 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. > ______________________________________________ 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.