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.

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

SAS
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.