作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一段时间,相当于 for 循环 (如 Python 或 R)在 SAS 9.3 宏语言中。 DO loop似乎是解决方案,但并没有完全按照我的意愿工作。
我建立了一种在数据步骤中使用 DO 循环执行此操作的方法,但它不适用于宏语言。
例如,在数据步骤中,此代码正在工作:
DATA _NULL_;
DO i = 1,3,5,9;
PUT i;
END;
RUN;
1
3
5
9
%MACRO test();
%DO i = 1,2,4,9 ;
%PUT i = &i;
%END;
%MEND;
%test();
ERROR: Expected %TO not found in %DO statement.
ERROR: A dummy macro will be compiled
最佳答案
我在 SAS 宏语言中遇到的最接近这种模式的是:
%MACRO test();
%let j=1;
%let vals=1 2 4 9;
%do %while(%scan(&vals,&j) ne );
%let i=%scan(&vals, &j);
%put &i;
%let j=%eval(&j+1);
%end;
%MEND;
%test();
关于sas - SAS 9.3 中的 "For in"循环等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573077/
我是一名优秀的程序员,十分优秀!