# [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,

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:
>
>
> 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

```