On Nov 23, 2012, at 1:14 PM, prasmas wrote:

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

> dat.a <- dat[ dat[["class"]] %in% dat[ dat[["percent"]] >70, "class"] , ]
> dat.a
  value class percent
1 15526    36  4.6875
2 15527    62 85.9375
3 15527    82 32.4564
4 15528    36 70.3125
5 15528    62  9.3750
6 15528    82 74.6875

> row.names(dat.a) <- unlist(tapply(dat.a$class, dat.a$class, function(x) paste0(x, letters[1:length(x)])))
> dat.a
    value class percent
36a 15526    36  4.6875
36b 15527    62 85.9375
62a 15527    82 32.4564
62b 15528    36 70.3125
82a 15528    62  9.3750
82b 15528    82 74.6875

You can split by the NROW of dat.a if you want.

--
David.
>
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@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.

David Winsemius, MD
Alameda, CA, USA

______________________________________________
R-help@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.

Reply via email to