[R] Finding Highest value in groups

David L Carlson dcarlson at tamu.edu
Fri Apr 22 19:47:30 CEST 2016


Base R functions can handle this easily. It is preferable to use dput() as a compact way of providing data on the list:

> dta <- read.table(text="ID    Value
+ 1        0.69
+ 1        0.31
+ 2        0.01
+ 2        0.99
+ 3        1.00
+ 4        NA
+ 4        0
+ 4        1
+ 5        0.5
+ 5        0.5
+ ", header=TRUE)
> dput(dta)
structure(list(ID = c(1L, 1L, 2L, 2L, 3L, 4L, 4L, 4L, 5L, 5L), 
    Value = c(0.69, 0.31, 0.01, 0.99, 1, NA, 0, 1, 0.5, 0.5)), .Names = c("ID", 
"Value"), class = "data.frame", row.names = c(NA, -10L))

Then you just need the aggregate() function:

> aggregate(Value~ID, dta, max, na.rm=TRUE)
  ID Value
1  1  0.69
2  2  0.99
3  3  1.00
4  4  1.00
5  5  0.50

See ?aggregate for the help page.

-------------------------------------
David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77840-4352


-----Original Message-----
From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Tom Wright
Sent: Friday, April 22, 2016 9:13 AM
To: Saba Sehrish
Cc: R-help Mailing List
Subject: Re: [R] Finding Highest value in groups

Assuming your dataframe is in a variable x:

> require(dplyr)
> x %>% group_by(ID) %>% summarise(maxVal = max(Value,na.rm=TRUE))



On Fri, 2016-04-22 at 13:51 +0000, Saba Sehrish via R-help wrote:
> Hi
> 
> 
> I have two columns in data frame. First column is based on "ID" assigned to each group of my data (similar ID depicts one group). From second column, I want to identify highest value among each group and want to assign the same ID to that highest value.
> 
> Right now the data looks like:
> 
> ID    Value
> 1        0.69
> 1        0.31
> 2        0.01
> 2        0.99
> 3        1.00
> 4        NA
> 4        0
> 4        1
> 5        0.5
> 5        0.5
> 
> I want to use R program to get results as below:
> 
> ID       Value
> 1        0.69
> 2        0.99
> 3        1.00
> 4        1
> 5        0.5
> 
> Kindly guide me in this regard.
> 
> Thanks
> Saba
> 
> ______________________________________________
> 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.

______________________________________________
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