[R] Change values of a column based on the values of a third
Jeff Newmiller
jdnewmil at dcn.davis.CA.us
Mon Oct 5 18:42:09 CEST 2015
Either
Dat$c <- ifelse( "Y"==Dat$b, rep( "D", nrow(Dat) ), Dat$a )
Or (more efficiently)
Dat$c <- Dat$a
Dat$c[ "Y"==Dat$b ] <- "D"
Also, beware of creating data frames without using the stringsAsFactors=FALSE option if you plan to replace levels like this.
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
On October 5, 2015 9:10:29 AM PDT, IOANNA IOANNOU <ii54250 at msn.com> wrote:
>Hello all,
>
>
>
>I have a rather easy question. I want to add a column to the database
>which
>will change the values of vector a based on the values to vector b. Any
>ideas how?
>
>
>
>For example:
>
>
>
>Dat <- data.frame(a= c('A','A','C','B','D','D','B'),
>
> b= c('N','N','Y','N','Y','N','N') )
>
>
>
>I want to add a column c which will change 'C' to 'D' if column b is
>'Y'.
>
>
>
>
>> Dat
>
> a b c
>
>1 A N A
>
>2 A N A
>
>3 C Y D
>
>4 B N B
>
>5 C Y D
>
>6 C N C
>
>7 B N B
>
>
>
>
>Any ideas?
>
>
>
>Best,
>
>ioanna
>
>
>
>
> [[alternative HTML version deleted]]
>
>______________________________________________
>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>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