Skip to content

extract common rows from a dataframe

3 messages · Ellie Papazisi, Bert Gunter, arun

#
1. What does "common" mean?
(noting that 39.35 != 39.33 )

2. But:
?"["
## or easier, but less flexible
?subset


Also, spend some time with "An Introduction to R."

Unless I misunderstand, this is very basic, and you need to first put
in some time to learn R's basic procedures instead of posting here.

Hint:
Cheers,
Bert
On Tue, Jun 11, 2013 at 8:45 AM, Ellie Papazisi <elliepapazisi at gmail.com> wrote:

  
    
#
Hi,
Try this:
dat1<- read.table(text="
DEPTH SALINITY DEPTH SALINITY
18??? 87??? 39.06??? 94??? 39.06
19? 173??? 39.05? 141????? NA
20? 260??? 39.00? 188??? 39.07
21? 312??? 38.97? 207??? 39.03
22??? 1??? 39.36??? 1??? 39.35
23??? 10??? 39.36??? 10??? 39.33
24??? 20??? 39.36??? 20??? 39.33
25??? 30??? 39.35??? 30??? 39.33
",sep="",header=TRUE)

library(matrixStats)
res<-dat1[rowDiffs(as.matrix(dat1[,c(1,3)]))==0,]
res
#?? DEPTH SALINITY DEPTH.1 SALINITY.1
#22???? 1??? 39.36?????? 1????? 39.35
#23??? 10??? 39.36????? 10????? 39.33
#24??? 20??? 39.36????? 20????? 39.33
#25??? 30??? 39.35????? 30????? 39.33


#or
dat1[apply(dat1,1,function(x) x[1]-x[3]==0),]
#?? DEPTH SALINITY DEPTH.1 SALINITY.1
#22???? 1??? 39.36?????? 1????? 39.35
#23??? 10??? 39.36????? 10????? 39.33
#24??? 20??? 39.36????? 20????? 39.33
#25??? 30??? 39.35????? 30????? 39.33
A.K.



----- Original Message -----
From: Ellie Papazisi <elliepapazisi at gmail.com>
To: r-help at r-project.org
Cc: 
Sent: Tuesday, June 11, 2013 11:45 AM
Subject: [R] extract common rows from a dataframe

Hello, I'm trying to extract the common rows from a data frame, which is
something like this :


*?  DEPTH SALINITY DEPTH SALINITY*
*18? ? 87? ? 39.06? ? 94? ? 39.06*
*19?  173? ? 39.05?  141? ? ?  NA*
*20?  260? ? 39.00?  188? ? 39.07*
*21?  312? ? 38.97?  207? ? 39.03*
*22? ?  1? ? 39.36? ?  1? ? 39.35*
*23? ? 10? ? 39.36? ? 10? ? 39.33*
*24? ? 20? ? 39.36? ? 20? ? 39.33*
*25? ? 30? ? 39.35? ? 30? ? 39.33*
*
*
i want to extract the rows with the same depth.
i cannot do something like *data.frame[22:25,]* because i have lots of rows

any help?
thank you

??? [[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.