全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4250 3
2011-03-13
悬赏 50 个论坛币 未解决
这个问题困扰我一天多了,一直很无奈。换了9.1.3和9.2,都有这样的问题。

我的任务是:
一大堆数据库,data(i,j),但是数据库里已知的变量只有两个,一个是日期date,一个是回归因变量比如growth(i,j),剩下的用于回归的自变量除一个以外都是未知的比如growth(x,y),其中x^=i。
我要做的第一步,将所有的自变量全部扩展成lag1-lag5,也就是将growth(x,y)变成变量growth(x,y,t-5),growth(x,y,t-4),growth(x,y,t-3)……growth(x,y,t);
第二步就是将所有的自变量对growth(i,j)回归。

程序如下:
复制代码
这段程序如果放在几百行的复杂程序里跑时,
第一次,vlist的值输出显示为空
第二次,vlist的值输出显示不为空,但是也不对。
第三次,vlist的值显示正常了。然后程序运行就正常了。

但是如果这段程序变成不用宏%macro processing,单独copy出来到一个新文件里,把i和j分别替换成具体的数值,程序完全能够一次性正常运行。vlist的显示也正确。

说实话这个问题我目前的解决方案感觉就像电视机不好使唤的时候,拍两下就会好一阵子的。

另外我将程序
复制代码
换成过call symput()的形式,结果还是一样的。


我对问题的感觉是,程序大了或宏变量多了以后,正常的宏运算就会遇到一定的问题,不知道谁有这样的经验?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-3-13 11:09:47
我将下面这段程序
复制代码

换成了
复制代码

问题依旧。。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-28 23:31:26
我也遇到了相似的问题
复制代码
上面的代码运行无误,可以把变量名提取出来。

复制代码
完全一样的代码放在macro函数中就不行
%put _user_找不到infor_var

放弃了。。。。。决定不把into套在macro里面了

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-29 01:12:15
开心,终于debug出来了~~

复制代码


这个是示范代码~
最重要的一句是在macro里面建立全局宏变量。

哈哈哈哈哈
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群