ifelse(). (: ) .
> y <- c(0,3,2,1,0,0,2,5,0,1,0,0)
> b <- ifelse(y == 0, 0, 1)
[1] 0 1 1 1 0 0 1 1 0 1 0 0
2:
, as.numeric(y!= 0).
> t <- Sys.time(); b <- as.numeric(y!=0); Sys.time() - t
Time difference of 0.0002379417 secs
> t <- Sys.time(); b <- ifelse(y==0, 0, 1); Sys.time() - t
Time difference of 0.000428915 secs
> t <- Sys.time(); b = sapply( y, decider ); Sys.time() - t
Time difference of 0.0004429817 sec
ifelse , as.numeric.
, OP 0.0004558563 .