HI,
Much better solution: library(car) set.seed(1) dat2<-data.frame(col1=c(sample(c("high","Neutral","low"),10,replace=TRUE)),col2=rep(NA,10)) x<-dat2$col1 dat2$col2<-recode(x,'"high"="H";"Neutral"="N";"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 A.K. ________________________________ From: Sachinthaka Abeywardana <sachin.abeyward...@gmail.com> To: arun <smartpink...@yahoo.com> Sent: Sunday, August 12, 2012 9:18 PM Subject: Re: [R] if else elseif for data frames yup looks good. thanks Sachin On Mon, Aug 13, 2012 at 11:17 AM, arun <smartpink...@yahoo.com> wrote: 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.abeyward...@gmail.com> >To: arun <smartpink...@yahoo.com> >Cc: R help <r-help@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 <smartpink...@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.abeyward...@gmail.com> >>To: r-help@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@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@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.