William Dunlap wrote:
-Original Message-
From: r-help-boun...@r-project.org
[mailto:r-help-boun...@r-project.org] On Behalf Of Erik Iverson
Sent: Wednesday, October 28, 2009 9:22 AM
To: Gurpal Kalsi; r-help@r-project.org
Subject: Re: [R] Selecting rows according to a column
Hello
28, 2009 9:22 AM
> > To: Gurpal Kalsi; r-help@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
> -Original Message-
> From: r-help-boun...@r-project.org
> [mailto:r-help-boun...@r-project.org] On Behalf Of Erik Iverson
> Sent: Wednesday, October 28, 2009 9:22 AM
> To: Gurpal Kalsi; r-help@r-project.org
> Subject: Re: [R] Selecting rows according to a column
>
Not very elegant but try:
z <- data.frame(a = 1:5, b=10*(1:5), c = c("a", "a", "b", "b", "b") )
z[ cbind( 1:nrow(z), match( as.character(z$c) , colnames(z) ) ) ]
If you have very few columns, you can use ifelse() too.
Regards, Adai
Gurpal Kalsi wrote:
Hi,
With a data such as:
z = data.f
> 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
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 th
6 matches
Mail list logo