[R] Change values of a column based on the values of a third

Sarah Goslee sarah.goslee at gmail.com
Mon Oct 5 18:40:16 CEST 2015


?ifelse

I changed Dat to a. have character type instead of factor, and b.
actually match what you show in your example instead of already having
D.

Dat <- data.frame(a= c('A','A','C','B','C','C','B'),
b= c('N','N','Y','N','Y','N','N'), stringsAsFactors=FALSE )

Dat$c <- with(Dat, ifelse(b == "Y" & a == "C", "D", a))

In general, I'd recommend you read one of the many excellent R
introductory guides out there.

On Mon, Oct 5, 2015 at 12:10 PM, 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
>

-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list