[R] replace elements of a data frame

Arnaud Gaboury arnaud.gaboury at a2ct2.com
Tue Feb 7 20:29:28 CET 2012


I used in fact recode() from epilcac package, not the one you mentioned!

Arnaud Gaboury
 
A2CT2 Ltd.


-----Original Message-----
From: Arnaud Gaboury 
Sent: mardi 7 février 2012 20:25
To: Jorge I Velez
Cc: r-help at r-project.org; Arnaud Gaboury
Subject: RE: [R] replace elements of a data frame

I did indeed have a look at recode(), and was able to replace, but an error warning :

> recode(names,"BO","BOO",df)
Warning message:
In recode.default(names, "BO", "BOO", df) :
  Name(s) of vars duplicates with an object outside the dataFrame.

> df
  names price
1   BOO    10
2     C    25
3    CL    20

As you can see, "BO" has been replaced by "BOO", but with a warning!


Arnaud Gaboury
 
A2CT2 Ltd.

From: Jorge I Velez [mailto:jorgeivanvelez at gmail.com] 
Sent: mardi 7 février 2012 19:55
To: Arnaud Gaboury
Cc: r-help at r-project.org
Subject: Re: [R] replace elements of a data frame

Hi Arnaud,

Take a look at 

require(car)
?recode

HTH,
Jorge.-

On Tue, Feb 7, 2012 at 1:05 PM, Arnaud Gaboury <> wrote:
Hello,

I am getting mad at finding a simple way to replace elements of a df.

Here is a short df :

> names<-c("BO","C","CL")
> price<-c("10","25","20")
> df<-data.frame(names,price)


I want to replace "BO" by "BOB", "C" by "CR", "CL" by "CLO", and the list is more long.
I can do that for each element:

>df[df=="BO"]<-"BOB"

But my df is bigger indeed with other elements.

I was thinking using replace(), but can't get any clean result ( NA or all elements replaced with only one), neither with sapply().

TY for any help, and sorry for the n00b question.






Arnaud Gaboury
 
A2CT2 Ltd.

______________________________________________
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