[R] Extract from data.frame

Bert Gunter bgunter.4567 at gmail.com
Mon Sep 21 22:00:07 CEST 2015


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);
> adf3 <- mean(df$Amount[adf-1:adr+1]);

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
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list