[R-sig-Geo] Help to select the raw in a data.frame with the max value

Robert Hijmans r.hijmans at gmail.com
Sun Apr 26 15:13:33 CEST 2009


Hi Ale,

perhaps something like this will work for you:

ID <- c(1,2,3,4,5,6,7,8,9,10)
a1 <- c(1,2,3,4,5,6,7,8,9,10)
a2 <- c(11,12,13,14,15,16,17,18,19,20)
a3 <- c(21,22,23,24,25,26,27,28,29,30)
a4<- c(31,32,33,34,35,36,37,38,39,40)
df <- data.frame(cbind(ID, a1, a2, a3, a4))

# get max by row, exclude first column (ID)
rowmax <- apply(df[,-1], 1, max)

row <- which(rowmax == max(rowmax))
df[row,]

By the way, I think it is better not to post to two lists at the same
time (many people are not subscribed to both, and this will break the
thread).

Robert


On Sun, Apr 26, 2009 at 8:02 PM, Alessandro
<alessandro.montaghi at unifi.it> wrote:
> Dear User,
>
>
>
> thank for the attention. I have a data.frame with 5 columns (ex:ID,
> a1,a2,a3,a4) and 1000 rows. I wish to find the absolute max value for all
> data.frame and save a new data.frame with the row where is that value. Ex:
>
>
>
> ID: 1,2,3,4,5,6,7,8,9,10
>
> a1:1,2,3,4,5,6,7,8,9,10
>
> a2:11,12,13,14,15,16,17,18,19,20
>
> a3:21,22,23,24,25,26,27,28,29,30
>
> a4:31,32,33,34,35,36,37,38,39,40
>
>
>
>
>
> The max value in the four columns (a1,a2,a3,a4) is 40. The new data.frame is
>
>
>
> ID:10
>
> A1:10
>
> A2:20
>
> A3:30
>
> A4 :40
>
>
>
> Thanks
>
>
>
> Ale
>
>
>        [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>



More information about the R-sig-Geo mailing list