[R] Replace a list of values in data frame

Gabor Grothendieck ggrothendieck at gmail.com
Fri Feb 29 15:45:03 CET 2008


See ?recode in the car package.


On Fri, Feb 29, 2008 at 8:50 AM, Silvia Lipski <sillispiral at yahoo.com> wrote:
> 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
>
> ______________________________________________
> 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