r: conditionally replace values in a subset of columns -


i have dataframe so:

sport   contract start contract end visits spends purchases basket   2013-10-01     2014-10-01   12      14      23 basket   2014-02-12     2015-03-03   23      11      7 football 2015-02-12     2016-03-03   23      11      7 basket   2016-07-17     2013-09-09   12       7      13 

i conditionally replace columns [4:6] nas, based on variables "sport" , "contract start". instance:

i1 <- which(df$sport =="basket" & df$contract_start>="2014-01-01") 

will index rows in conditions met. there easy piece of code add above, replace df[4:6] nas given above conditions? end that:

sport   contract start contract end visits spends purchases basket   2013-10-01     2014-10-01   12      14      23 basket   2014-02-12     2015-03-03   na      na      na football 2015-02-12     2016-03-03   23      11      7 basket   2016-07-17     2013-09-09   na      na      na 

thanks! a.

you can specify rows , columns replace na, , assign na it:

df[df$sport =="basket" & df$contract_start>="2014-01-01", 4:6] <- na  df #      sport contract_start contract_end visits spends purchases # 1   basket     2013-10-01   2014-10-01     12     14        23 # 2   basket     2014-02-12   2015-03-03     na     na        na # 3 football     2015-02-12   2016-03-03     23     11         7 # 4   basket     2016-07-17   2013-09-09     na     na        na 

Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -