[R] Fwd: How to conditionally remove dataframe rows?

arun smartpink111 at yahoo.com
Thu Mar 7 03:42:41 CET 2013


Hi,

dfrm<- read.table(text="
        Point_counts      Psi_Sp

1            A                      0
2            A                      1
3            B                      1
4            B                      2
5            B                      0
6            C                      1
7            D                      1
8            D                      2
",sep="",header=TRUE,stringsAsFactors=FALSE)
 res<-do.call(rbind,lapply(split(dfrm,dfrm$Point_counts),function(x) x[which.max(x$Psi_Sp),]))
 row.names(res)<-1:nrow(res)
 # Point_counts Psi_Sp
#1            A      1
#2            B      2
#3            C      1 #your input data doesn't have 0
#4            D      2
A.K.



----- Original Message -----
From: Francisco Carvalho Diniz <chicocdiniz at gmail.com>
To: r-help at r-project.org
Cc: 
Sent: Wednesday, March 6, 2013 6:21 PM
Subject: [R] Fwd: How to conditionally remove dataframe rows?

Hi,

I have a data frame with two columns. I need to remove duplicated rows in
first column, but I need to do it conditionally to values of the second
column.

Example:

        Point_counts       Psi_Sp

1            A                       0
2            A                       1
3            B                       1
4            B                       2
5            B                       0
6            C                       1
7            D                       1
8            D                       2


I need to turn this data frame in one without duplicated rows at
point-counts (one visit per point) but maintain the ones with maximum value
at Psi_Sp, e.g. remove row 1 and maintain 2 or remove rows 3 and 5 and
maintain 4. At the end I want a data frame like the one below:

         Point_counts           Psi_Sp

1              A                           1
2              B                           2
3              C                           0
4              D                           2

How can I do it? I found several ways to edit data frames, but
unfortunately I cound not use none of them.

I appreciate

Francisco

    [[alternative HTML version deleted]]

______________________________________________
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