2016-05-28 10 views
1

Wenn ich die genaue Länge eines Arrays nach einer Transponierung nicht kenne, gibt es eine Möglichkeit, es auszugeben? oder um es zu benutzen, ohne die Ausgabedaten manuell durchzusehen? Zum Beispiel, wenn ich die Anzahl der ausgegebenen Pillen umsetze, aber diese Zahl für jede 'ID' variabel ist und dann dieses Array in einer Regression angeben möchte, gibt es eine Möglichkeit, dies zu tun, ohne den Wert über manuelle visuelle Inspektion zu finden ?Wie kann man die Länge eines Arrays bestimmen?

PROC PHREG DATA=...; 
ARRAY start{*} start1-start????; 
DO I=1 TO ?????; 
IF start{I}<t2event THEN var=1; 
END; 
MODEL ......... 

Als logische Folge, wenn ich weiß, dass ihr weniger als sagen, 100, und ich angeben 100, gäbe es jede Folge sein? Danke!

Antwort

8

Die Funktion DIM() gibt die Dimensionen eines Arrays zurück. Sie können das Suffix: verwenden, um eine variable Liste von Namen zu erstellen, die mit denselben Buchstaben beginnen.

ARRAY start{*} start: ; 
DO I=1 TO dim(start); 
0

Sie können auch eine do über Schleife verwenden:

ARRAY start{*} col1 col5 col8 var1; 
DO OVER start; 
+0

Ich glaube, Schleifen DO OVER veraltet sind :(Sie funktionieren nach wie vor werden aber nicht unterstützt. – Reeza

Verwandte Themen