如何确定数组的长度?

4

如果我不知道转置后数组的确切长度,是否有一种方法可以输出它?或者在不手动查看输出数据的情况下使用它? 例如,如果我按照发放药丸的数量进行转置,但是每个“id”的数量都是可变的,然后我想在回归中指定该数组,是否有一种方法可以在不通过手动视觉检查找到该值的情况下完成?

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

作为一个推论,如果我知道它小于100,而我指定了100,会有任何后果吗?谢谢!

2个回答

14

DIM()函数返回数组的维数。您可以使用冒号后缀来创建变量名称列表,这些变量以相同的字母开头。

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

0

你也可以使用 do over 循环:

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

我相信“DO OVER”循环已经被弃用了 :(它们仍然可以用,但不受支持。 - Reeza
如果您想要使用 do over 命令来操作数组,则不能在数组定义中使用 {*} - Tom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接