# [R] Extract from data.frame

Nico Gutierrez nico.gutierrezo at gmail.com
Tue Sep 22 09:52:44 CEST 2015

```Thank you all!
n

On Mon, Sep 21, 2015 at 10:00 PM, Bert Gunter <bgunter.4567 at gmail.com>
wrote:

> No.
>
>
> On Mon, Sep 21, 2015 at 10:58 AM, John McKown
> <john.archie.mckown at gmail.com> wrote:
> > On Mon, Sep 21, 2015 at 9:52 AM, Nico Gutierrez <
> nico.gutierrezo at 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
> >>
> >>
> > The simplistic answer is something like:
> >
> > df <- structure(list(Year = structure(1:7, .Label = c("2001", "2002",
> > "2003", "2004", "2005", "2006", "2007"), class = "factor"), Amount =
> c(150,
> > 120, 175, 160, 120, 105, 135)), .Names = c("Year", "Amount"), row.names =
> > c(NA,
> > -7L), class = "data.frame");
> > wdf <- which.max(df\$Amount);
>
> Typos?!
> But it won't work anyway. See ?Syntax for operator precedence and
>
> Example:
>
> > a <- 1:5
> > mid <- 3
> > a[mid-1:mid+1]
> [1] 3 2 1
> > a[(mid-1):(mid+1)]
> [1] 2 3 4
>
> Cheers,
> Bert
>
>
> >
> > But that ignores the boundry condition where the maximum is at either
> end.
> > What do you want to do in that case?
> >
> >
> > --
> >
> > Schrodinger's backup: The condition of any backup is unknown until a
> > restore is attempted.
> >
> > Yoda of Borg, we are. Futile, resistance is, yes. Assimilated, you will
> be.
> >
> > He's about as useful as a wax frying pan.
> >
> > 10 to the 12th power microphones = 1 Megaphone
> >
> > Maranatha! <><
> > John McKown
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help