the following vector given contaiining names of variables:
variables = c("bla_p_blub","bla_k_blib","blo_p_blub","blu_i_blub","bli_k_blub") what want if variables[i] contains k sth if contains p or i sth. else.
my approach following not work:
class_var = 1 if(grep("_k_",variables[i]) > 0){ class_var = 1 } else{ class_var = 0 } if (class_var == 1){ sth. } if (class_var == 0){ sth. else } the problem if variables[i] contains no k result:
error in if (grep("k", variables[12]) > 0) { : argument of length zero
any advice?
thanks in advance!
i use regex extract info need trigger correct function, in case '_x_'.
later iterate on vector important informations , use switch.
can use {} within switch execute more functions print or so...
variables = c("bla_p_blub","bla_k_blib","blo_p_blub","blu_i_blub","bli_k_blub") myvars <- sub('.*_([a-z])_.*', '\\1', variables) for(myvar in myvars) { switch(myvar, p=cat('it p\n'), k={ cat('it k\n') cat(sprintf('%s\n',date())) }, cat(sprintf('it %s\n', myvar))) } this returns following
it p k fri jul 17 13:13:51 2015 p k fri jul 17 13:13:51 2015
Comments
Post a Comment