[R] Creating a new table from a set of constraints

Prof Brian Ripley ripley at stats.ox.ac.uk
Fri Aug 29 08:37:00 CEST 2003


On Fri, 29 Aug 2003, Dowkiw, Arnaud wrote:

> Hi Francisco,
> 
> what I would do :
> 
> names(X)[c(5,10)]<-c("Age","Gender")
> 
> Xnew1<-X[X$Gender==1 & X$Age>=18 & X$Age <=40,]
> 
> Xnew2<-X[X$Gender==0 & X$Age>=20 & X$Age <=30,]
> 
> Xnew<-rbind(Xnew1,Xnew2)
> 
> But there must be something more elegant,

How about

set1 <- with(X, Gender==1 & Age>=18 & Age <=40)
set2 <- with(X, Gender==0 & Age>=20 & Age <=30)
Y <- X[set1 | set 2, ]

> -----Original Message-----
> From: Francisco J. Bido [mailto:bido at mac.com]
> Sent: Friday, 29 August 2003 4:10 PM
> To: r-help at stat.math.ethz.ch
> Subject: [R] Creating a new table from a set of constraints
> 
> 
> Hi Everyone,
> 
> Here's a silly newbie question.  How do I remove unwanted rows from an 
> R table?  Say that I read my data as:
> 
> X <- read.table("mydata.txt")
> 
> and say that there are columns for age and gender.  Call these X[5] and 
> X[10], respectively.
> Here, X[5]  is a column of positive integers and X[10] is binary valued 
> i.e., zero (for male) and one (for female)
> 
> Now, say that I want to form a new table called Y which has the 
> following constraints:
> 
> 1.  Only females that are between 18 and 40 years old.
> 2.  Only males that are between 20 and 30 years old
> 
> I can do this using a typical procedural approach (no different than C 
> programmer would) but it seems
> to me that R has many shortcuts and so I thought I ask first before 
> heading on an inefficient path. What's
> a good way of doing this, my data set is very large?
> 
> Thanks,
> -Francisco
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help 
> 
> ********************************DISCLAIMER******************...{{dropped}}
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> 
> 

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list