[R] if else elseif for data frames

arun smartpink111 at yahoo.com
Mon Aug 13 03:17:58 CEST 2012


Hi,

Try this,

set.seed(1)
 dat2<-data.frame(col1=c(sample(c("high","Neutral","low"),10,replace=TRUE)),col2=rep(NA,10))
dat2$col2[dat2$col1=="high"]<-"H"
 dat2$col2[dat2$col1=="Neutral"]<-"N"
 dat2$col2[dat2$col1=="low"]<-"L"
 dat2
#      col1 col2
#1     high    H
#2  Neutral    N
#3  Neutral    N
#4      low    L
#5     high    H
#6      low    L
#7      low    L
#8  Neutral    N
#9  Neutral    N
#10    high    H


Not sure if this is okay for you,
A.K.rr


A.K.
________________________________
From: Sachinthaka Abeywardana <sachin.abeywardana at gmail.com>
To: arun <smartpink111 at yahoo.com> 
Cc: R help <r-help at r-project.org> 
Sent: Sunday, August 12, 2012 9:07 PM
Subject: Re: [R] if else elseif for data frames


The thing is I have about 10 cases. I saw the ifelse statement but was wondering if there was a cleaner method of doing it. The coding will get really messy when I write all 10 cases.

Cheers,
Sachin


On Mon, Aug 13, 2012 at 11:04 AM, arun <smartpink111 at yahoo.com> wrote:

Hi,
>Try this:
>dat1<-data.frame(col1=c(rep("high",3),rep("Neutral",3),rep("low",4)))
> dat1$col2<-ifelse(dat1$col1=="high",dat1$col2<-"H",ifelse(dat1$col1=="Neutral",dat1$col2<-"N","L"))
>dat1
>      col1 col2
>1     high    H
>2     high    H
>3     high    H
>4  Neutral    N
>5  Neutral    N
>6  Neutral    N
>7      low    L
>8      low    L
>9      low    L
>10     low    L
>
>A.K.
>
>
>
>
>
>----- Original Message -----
>From: Sachinthaka Abeywardana <sachin.abeywardana at gmail.com>
>To: r-help at r-project.org
>Cc:
>Sent: Sunday, August 12, 2012 8:43 PM
>Subject: [R] if else elseif for data frames
>
>Hi all,
>
>It seems like I cannot use normal 'if' for data frames. What would be the
>best way to do the following.
>
>if data$col1='high'
>    data$col2='H'
>else if data$col1='Neutral'
>    data$col2='N'
>else if data$col='low'
>   data$col2='L'
>else
>   #chuch a warning?
>
>
>Note that col2 was not an existing column and was newly assigned for this
>task.
>
>Thanks,
>Sachin
>
>    [[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.
>
>



More information about the R-help mailing list