[R] flagging values without a loop

R. Michael Weylandt michael.weylandt at gmail.com
Thu Jun 7 17:31:30 CEST 2012


In two steps, you could use ave() to split by hour and find the
maximum of price and then use an ifelse clause on the resulting vector
to see when that actually equals the given price and assign "Y"/"N"
appropriately,

I'll leave the implementation as an exercise to the reader :-)

Best,
Michael

On Thu, Jun 7, 2012 at 9:17 AM, jcrosbie <james at crosb.ie> wrote:
> For a given hour I want to be able to  add a new column called flag.  The
> flag column will flag the highest price in a given hour.  Is there a way to
> do this without a loop?
>
> matrix:
> Unit,   Day,    Hour,   Price,  Flag
> afd1    1/2/2003        1       1       N
> afd1    1/2/2003        1       2       N
> afd1    1/2/2003        1       3       N
> afd1    1/2/2003        1       4       Y
> dcf1    1/2/2003        2       2       N
> dcf1    1/2/2003        2       3       Y
> dcf1    1/2/2003        2       1       N
> dcf1    1/2/2003        2       2       N
> dcf1    1/2/2003        2       3       Y
> ghg2    1/2/2003        3       1       N
> afd1    1/2/2003        3       2       N
> .....
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/flagging-values-without-a-loop-tp4632689.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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