Función SAS
Rutina ALLCOMBI
Rutina CALL: combinaciones de índices 1..n tomados k a k.
Descripción
CALL ALLCOMBI opera sobre índices enteros; inicializa o avanza combinaciones en un bucle COMB(n,k) veces. Contenido alineado con SAS 9.4 Functions and CALL Routines: Reference (diccionario A–B, lefunctionsref).
Forma habitual de uso
Patrón típico de llamada en expresión SAS (DATA step, asignaciones o WHERE). En PROC SQL comprueba que la función esté permitida en el contexto del procedimiento y la versión de SAS.
CALL ALLCOMBI(n, k, index-1, ..., index-k <, index-added, index-removed>);
Argumentos y notas
Qué representa cada argumento y comportamiento frente a valores missing o tipos mezclados.
- Sintaxis
- Invocación con CALL en DATA step; argumentos por referencia según manual SAS 9.4.
Ejemplo
data _null_;
array x[5] $3 ('ant' 'bee' 'cat' 'dog' 'ewe');
array c[3] $3;
array i[3];
n = dim(x);
k = dim(i);
i[1] = 0;
ncomb = comb(n, k);
do j = 1 to ncomb + 1;
call allcombi(n, k, of i[*], add, remove);
do h = 1 to k;
c[h] = x[i[h]];
end;
put @4 j= @10 'i= ' i[*] +3 'c= ' c[*] +3 add= remove=;
end;
run;
Comprueba la sintaxis y el comportamiento en la versión de SAS de tu entorno; el log del programa y la ayuda integrada suelen ser la referencia más fiable ante dudas.