try this:

> x <- read.table(textConnection("P1id    Veg1    Veg2    AreaPoly2
P2ID
+ 1       p       p       1               1
+ 1       p       p       1.5             2
+ 2       p       p       2               3
+ 2       p       h       3.5             4"), header=TRUE, as.is=TRUE)
> # split the dataframe by P1id
> x.s <- split(x, x$P1id)
> # now go through the sets to see which is the largest
> result <- lapply(x.s, function(.sub){
+     .match <- subset(.sub, Veg1 == Veg2)
+     if (length(.match) > 0){
+         return(.match[which.max(.match$AreaPoly2),])
+     }
+     else {
+         return(NULL)
+     }
+ })
> do.call(rbind, result)
  P1id Veg1 Veg2 AreaPoly2 P2ID
1    1    p    p       1.5    2
2    2    p    p       2.0    3
>


On Mon, Dec 28, 2009 at 8:03 PM, Seth W Bigelow <sbige...@fs.fed.us> wrote:

> I have a data set similar to this:
>
> P1id    Veg1    Veg2    AreaPoly2       P2ID
> 1       p       p       1               1
> 1       p       p       1.5             2
> 2       p       p       2               3
> 2       p       h       3.5             4
>
> For each group of "Poly1id" records, I wish to output (subset) the record
> which has largest "AreaPoly2" value, but only if Veg1=Veg2. For this
> example, the desired dataset would be
>
> P1id    Veg1    Veg2    AreaPoly2       P2ID
> 1       p       p       1.5             2
> 2       p       p       2               3
>
> Can anyone point me in the right direction on this?
>
> Dr. Seth  W. Bigelow
> Biologist, USDA-FS Pacific Southwest Research Station
> 1731 Research Park Drive, Davis California
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@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<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to