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 highH
2 NeutralN
3 NeutralN
4 lowL
5 highH
6
It seems to me that the "recode()" function from the "car" package
is what you need.
cheers,
Rolf Turner
On 13/08/12 13:07, Sachinthaka Abeywardana wrote:
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. Th
ot;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
To:
_
From: Sachinthaka Abeywardana
To: arun
Cc: R help
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 re
On Sun, Aug 12, 2012 at 8:07 PM, Sachinthaka Abeywardana
wrote:
> The thing is I have about 10 cases. I saw the ifelse statement
Note that there is no "ifelse" statement: there is only nested if/else of forms
if
else if
else if
else
> but was
> wondering if
On Aug 12, 2012, at 5:43 PM, Sachinthaka Abeywardana wrote:
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='
Maybe the cut function?
?cut
---
Jeff NewmillerThe . . Go Live...
DCN:Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Pl
You might look at the 'recode' that is part of the 'car' package. You
can also setup a dataframe with two columns; one with the current
value and one with the new value you want, then you can use 'merge' or
'match' to create your new column. If you have provided some sample
data, I could have pro
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
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 wrote:
> Hi,
> Try this:
> dat1<-data.frame(col1=c(rep("h
10 matches
Mail list logo