[R] R help..subsetting data frame that meeting multiple criteria

arun
Sat, 24 Nov 2012 02:59:47 -0000

HI,
You could also try this:
dat <- read.table(text="
value class percent
15526 36 4.6875
15527 62 85.9375
15527 82 32.4564
15528 36 70.3125
15528 62 9.375
15528 82 74.6875
15529 72 50.0000
15530 72 50.0000
", header = TRUE)
mat1<-as.matrix(dat)
row.names(mat1)<-paste(dat$class,ave(dat$percent,dat$class,FUN=function(x)
x>70),sep="_")
?mat1
#???? value class percent
#36_0 15526??? 36? 4.6875
#62_1 15527??? 62 85.9375
#82_0 15527??? 82 32.4564
#36_1 15528??? 36 70.3125
#62_0 15528??? 62? 9.3750
#82_1 15528??? 82 74.6875
#72_0 15529??? 72 50.0000
#72_0 15530??? 72 50.0000

If you? want to change 0 and 1 to "a" and "b".
row.names(mat1)<-gsub("1","b",gsub("0","a",row.names(mat1)))
?row.names(mat1)
#[1] "36_a" "62_b" "82_a" "36_b"
"62_a" "82_b" "72_a" "72_a"

Hope it helps.
A.K.


----- Original Message -----
From: prasmas <prasad4rr at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Friday, November 23, 2012 4:14 PM
Subject: [R] R help..subsetting data frame that meeting multiple criteria

Hi,
I am new to R.? I am trying to regroup data frame using multiple constrains.
for example

data frame: data
? value??? class??? percent
15526??? 36??? 4.6875
15527??? 62??? 85.9375
15527??? 82??? 32.4564
15528??? 36??? 70.3125
15528??? 62??? 9.375
15528??? 82??? 74.6875

I need to regroup each class that have greater than or equal to 70 percent
into new group. Similarly, I also need to regroup each class that have less
than 70 percent into new group.

I can do this by using following syntax for each class
class36<- data[data$class==36&data$percent>70,]
class36a<- data[data$class==36&data$percent<=70,]
but I have 100 different classes. In order to do this for all 100 classes, I
have write that syntax 100 times. There would be some way to do dynamically
to regroup for 100 classes (may be using for loop) but I dont know. Can you
please help in this.
Output should be like
data frame: class36
value??? class??? percent
15528??? 36??? 70.3125

data frame: class36a
value??? class??? percent
15526??? 36??? 4.6875

data frame: class62
15527??? 62??? 85.9375

data frame: class62a
15528??? 62??? 9.375

data frame: class82
15528??? 82??? 74.6875

data frame: class82a
15527??? 82??? 32.4564

Thank you very much your help..
P.



--
View this message in context:
http://r.789695.n4.nabble.com/R-help-subsetting-data-frame-that-meeting-multiple-criteria-tp4650601.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.