楼主: zkp216
1180 6

[原创博文] 关于宏中数据集应用 [推广有奖]

  • 4关注
  • 2粉丝

已卖:30份资源

硕士生

38%

还不是VIP/贵宾

-

威望
0
论坛币
246 个
通用积分
0
学术水平
1 点
热心指数
5 点
信用等级
1 点
经验
1857 点
帖子
103
精华
0
在线时间
159 小时
注册时间
2012-6-18
最后登录
2021-12-10

楼主
zkp216 发表于 2012-8-9 15:56:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. %macro Qua_Poly(dat);
  2. data Optim.Qua;
  3. set Optim.&dat;
  4. y1=y;t1=x1;t2=x1*x1;
  5. proc reg data=Qua outest=MacOut;
  6. Model y1=t1-t2;
  7. run;
  8. &MacOut;
  9. %mend Qua_Poly;
  10. run;

  11. data  T;
  12. T=%Qua_Poly(Reg);
  13. put Intercept= t1= t2=;
  14. run;
复制代码
看到有得书上有类似的用法,但是程序提示Optim.Qua数据集不存在,为什么呢?请高人指点
二维码

扫码加我 拉你入群

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

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

关键词:数据集 Intercept outest Optim model 程序

沙发
zkp216 发表于 2012-8-9 16:56:04
程序的目的是进行二项式回归,并把回归结果保存到指定的文件中,经修改后程序如下,如有不对或者更好的方法请指教:

%macro Qua(dat);
data Optim.Q;
set &dat;
y1=y;t1=x1;t2=x1*x1;
proc reg data=Optim.Q outest=Optim.MacOut;
Model y1=t1-t2;
%mend Qua;
%Qua(Optim.Reg);
Quit;

藤椅
zkp216 发表于 2012-8-9 17:07:08
下一步是再添加一个数据集宏参数存放回归结果,最终达到不同的数据集回归结果存放到不同的指定的数据集中,不知道是否可行

板凳
stormhoof 发表于 2012-8-10 10:56:53
%macro Qua(dat,Macout);试试看设2个参数

报纸
zkp216 发表于 2012-8-10 11:02:12
stormhoof 发表于 2012-8-10 10:56
%macro Qua(dat,Macout);试试看设2个参数
  1. /*************程序1********************/

  2. %macro Qua(dat,database);
  3. data Optim.Q;
  4. set &dat;
  5. y1=y;t1=x1;t2=x1*x1;
  6. proc reg data=Optim.Q outest=&database;
  7. Model y1=t1-t2;
  8. %mend Qua;

  9. data _null_;
  10. %Qua(Optim.Reg,Optim.database);
  11. Quit;
复制代码
设置两个可以了,但是在宏中把 宏参数Optim.database的值改变了,这样合法吗?会不会有什么风险?谢谢哈

地板
stormhoof 发表于 2012-8-10 12:51:09
Optim.database的值改变不是换个数据集输出了吗

7
zkp216 发表于 2012-8-10 14:01:51
stormhoof 发表于 2012-8-10 12:51
Optim.database的值改变不是换个数据集输出了吗
用宏的原则不是说,多次重复用才用宏的吗,好像一般是用宏代替固定的东东,而这段程序是把宏值边了。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 05:24