vendredi 28 février 2020

Make a new column picking values from a data frame depending on the values in the same data frame in R

I got the data frame

   Z1  Z2  Z3  Z4
   AB  XX  1   100  
   BA  YY  2   200
   AB  YY  1   200
   BA  XX  2   100

And I want to make a new column picking Z1 or Z2 depending on the values in Z3 and Z4.

The conditions are if Z3= h1 or Z4=h10 then Z5 is Z1 else Z5=Z1; the table should look like this:

   Z1  Z2  Z3  Z4  Z5
   AB  XX  h1  h10 AB  
   BA  YY  h2  h20 YY
   AB  YY  h1  h20 AB
   BA  XX  h2  h10 BA

To achieve this I do:

df = within(df,{
 Z5 == ifelse(df$Z3 == "h1" | df$Z4 == "h10", df$Z1,df$Z2)
})

When I do this I get no values in df$Z5

Aucun commentaire:

Enregistrer un commentaire