[R] Replace a list of values in data frame

Silvia Lipski sillispiral at yahoo.com
Fri Feb 29 14:50:53 CET 2008


Dear R-users,

I am sorry if I ask for something that has been asked
before, however, I still could not solve my little
problem by consulting the previous thread on this
topic:

I would like to replace several values in a data
frame, such as in:

colorful
  subject response 
1      me    black  
2      me    brown  
3     you      red  
4      me    black  
5     you    brown  

read in with read.table()

I would like to replace both "black" and "brown" by
"dark". 

What I have tried was: 

ToBeReplaced=c("black","brown")
Replacement="dark"
test1<-replace(colorful,ToBeReplaced,Replacement)

which adds two columns:

test1
 subject response black brown
1      me    black  dark  dark
2      me    brown  dark  dark
....

Replacing one value at a time as in:
test2<-replace(colorful$response,colorful$response=="black","dark")

gives this  warning message:
 In test$response :
  $ operator is invalid for atomic vectors, returning
NULL

and returns all values for $response:
> test2
[1] black  brown  red    black  .....

I have tried many other things but nothing helps. 
I would be very grateful for your help!!!

Thanks a lot,
Silvia



More information about the R-help mailing list