[R] if else elseif for data frames

PIKAL Petr petr.pikal at precheza.cz
Tue Aug 14 11:47:34 CEST 2012


Hi

What about creating a new column with same factor and just chase its levels. 

dat2$col2<-dat2$col1
> levels(dat2$col2)
[1] "high"    "low"     "Neutral"
> levels(dat2$col2)<-c("H", "L","N")
> 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

Regards
Petr


>
> 
> 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.
> >
> >
> 
> 	[[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