[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 



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

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:


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