[R] Selecting rows according to a column
William Dunlap
wdunlap at tibco.com
Wed Oct 28 17:31:34 CET 2009
> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of Erik Iverson
> Sent: Wednesday, October 28, 2009 9:22 AM
> To: Gurpal Kalsi; r-help at r-project.org
> Subject: Re: [R] Selecting rows according to a column
>
> Hello,
>
> Here's an idea:
>
> ifelse(z$c == "a", z$a, z$b)
If there may be many columns to select from (so
the nested ifelse's become tedious) one might try
> z[,-3][cbind(seq_len(nrow(z)),z$c)]
[1] 1 2 30 40 50
The initial [,-3] is there only so when the data.frame
is converted to a matrix by [.data.frame's processing
of a matrix subscript it becomes a numeric matrix, not
a character matrix.
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
>
>
> > -----Original Message-----
> > From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org]
> > On Behalf Of Gurpal Kalsi
> > Sent: Wednesday, October 28, 2009 11:15 AM
> > To: r-help at r-project.org
> > Subject: [R] Selecting rows according to a column
> >
> > Hi,
> >
> > With a data such as:
> > > z = data.frame(a = 1:5, b=10*a, c = c("a", "a", "b", "b", "b") )
> > * a b c*
> > *1* 10 *a*
> > *2* 20 *a*
> > 3 *30* *b*
> > 4 *40* *b*
> > 5 *50* *b*
> >
> > Can anyone suggest a way to select [1, 2, 30, 40, 50],
> > ie. using column "c" to specify which column is selected
> for each row.
> >
> > Many thanks
> >
> > G
> >
> > [[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.
>
> ______________________________________________
> 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.
>
More information about the R-help
mailing list