SHARE
TWEET

Untitled

a guest Jul 17th, 2019 88 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DATA perm;
  2.  
  3.     * Store CRP values in ARRAYs;
  4.      ARRAY c{*} crp1-crp16;     *Mit c{*} legt man ein Arry mit unbekannter größe an, mit crp1-crp16 werden die variablen crp1,crp2... erstellt;
  5.  
  6.      RETAIN crp1-crp16;  *Hier werden ein paar Variablen erstellt, welche bei jedem durchlauf durch RETAIN ihren Wert behalten und dann weiter genutzt werden können;
  7.      RETAIN i 0;
  8.      RETAIN eof 0;
  9.      RETAIN totsum 0;
  10.      RETAIN npermutationen 0; *Weiss nicht wofür das ist, Variable wird nie benutzt;
  11.  
  12.      DO UNTIL(eof);
  13.        SET CRP END=eof; *Mit set wird die variable gesetzt durch welche iteriert werden soll, mit end bestimmt man den letzten wert;
  14.        i = i + 1;   *Eine Zahl die man einfach von 0 bis x hochzählt;
  15.        c{i} = CRP;  *Hier wird an die i-te Position im Array der CRP Wert des aktuellen schleifendurchlaufs geschrieben;
  16.        totsum = totsum + CRP; *Dadurch das totsum mit RETAIN definiert wurde wird hier immer wieder der crp des durchlaufes aufaddiert;
  17.      END; *Das ganze ist einfach dafür die totsum zu bestimmen;
  18.  
  19.      * The indices i1-i8 determine the CRP values for the female group. The sum of the male group is determined as TotalSum-sumF;
  20.      DO i1 = 1 TO 9;
  21.        DO i2 = i1+1 TO 10;
  22.          DO i3 = i2+1 TO 11;
  23.            DO i4 = i3+1 TO 12;
  24.              DO i5 = i4+1 TO 13;
  25.                DO i6 = i5+1 TO 14;
  26.                  DO i7 = i6+1 TO 15;
  27.                    DO i8 = i7+1 TO 16; *Ist bisschen komplex, wichtig ist das das hier im Inneren zunächst ausgeführt wird mit i8 = i7+1, und dann i8 = i7+2... +16 und die schleifen sich dann erst wieder nach außen arbeiten;
  28.                      sumF = c{i1}+ c{i2}+c{i3}+c{i4}+c{i5}+c{i6}+c{i7}+c{i8}; *Hier wird für jeden DO-Schleife jeweils der Wert aus dem Array gelesen;
  29.                      sumM = totsum - sumF; *Totale Summe - Frauen Summe = Männer Summe;
  30.                      d = (sumF - sumM)/8;
  31.                      if abs(d) >= abs(&samplediff.) then indi=1; else indi=0; *Wenn Absolute Wert von d >= der Wert vom Sample dann indi = 1, sonst indi=0;
  32.                      KEEP i1 - i8 d indi;
  33.                      OUTPUT;
  34.                    END;
  35.                  END;
  36.                END;
  37.              END;
  38.            END;
  39.          END;
  40.        END;
  41.      END;
  42. RUN;
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top