La función ifelse «a la SAS»

Una función muy útil de R es ifelse:

val <- 0
var <- ifelse( val == 1, "uno", "cero" )
print( var )

Un programador en SAS haría algo así como

%macro test(val);
 %if &val=1 %then %let var=one;
 %else %let var=zero;
 %put &var;
%mend;
%test(0);

SAS, sin embargo, recomienda hacerlo así:

%let val=0;
%let var=%sysfunc(ifc(&val=1,one,zero));
%put &var;

Una línea, sí, pero una línea muy críptica. ¡Aunque para gustos están los colores!