全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 经管代码库
632 1
2023-06-13
proc model data=FBny;
by model code name;
parms a;
exogenous coef1 ;
instruments / intonly;
coef1 =a;
fit coef1 / gmm kernel=(bart, %eval_r(&lag+1), 0);
ods output parameterestimates=param1  fitstatistics=fitresult
OutputStatistics=residual;
quit;
在运行这段代码的时候显示以下错误,所以这是因为需要调用%eval_r宏程序吗?怎么编写呀?
4cb9e49d9e8cb81ca32f01b3878c752.png


二维码

扫码加我 拉你入群

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

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

全部回复
2023-7-31 22:54:45
从你的错误信息来看,你的代码中尝试调用一个名为 "%eval_r" 的宏,但 SAS 系统中并没有这样的宏存在,导致了这个错误。在 SAS 中,宏通常是用于完成特定任务的一段预定义的代码,比如执行一系列的命令或进行一些复杂的计算。如果你尝试调用一个不存在的宏,SAS 就会给出一个错误提示。

在这里,你可能需要编写一个名为 "%eval_r" 的宏来执行某些操作。在 SAS 中,你可以使用 %macro 和 %mend 语句来创建宏。以下是一个基本的示例,它定义了一个简单的宏,用于计算两个数的和:

```sas
%macro eval_r(a,b);
    %let sum = %eval(&a + &b);
    %put ∑
%mend eval_r;
```

在这个宏中,我们使用 %eval 宏函数来执行数值运算,并使用 %let 语句来定义一个新的宏变量 "sum"。然后我们使用 %put 语句来打印这个变量的值。

你可以根据自己的需求修改这个宏的定义。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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