楼主: blliufan
1142 5

[原创博文] 求高手帮忙啦 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

84%

还不是VIP/贵宾

-

威望
0
论坛币
887 个
通用积分
0.0003
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2530 点
帖子
138
精华
0
在线时间
200 小时
注册时间
2009-9-28
最后登录
2021-10-9

楼主
blliufan 发表于 2012-2-11 13:53:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
小弟在处理一些金融数据。假设我有数据集A,
date state
01      3
02      4
03      1
同时我还有程序步B,和C,
我该如何表达,才能使得当最小的state小于2时,我执行程序B,否则我就执行程序C。
二维码

扫码加我 拉你入群

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

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

关键词:求高手 State 执行程序 金融数据 date 程序 如何

沙发
maidenhan 发表于 2012-2-11 20:17:42
U can use macro to realize it.

%macro choice(state);
%if &state. < 2 %then %do;
        程序B
%end;%else %do;
        程序C
%end;
%mend;

* example of 程序B ;
%choice(state = 1);

* example of 程序C ;
%choice(state = 4);

藤椅
blliufan 发表于 2012-2-12 17:28:02
maidenhan 发表于 2012-2-11 20:17
U can use macro to realize it.

%macro choice(state);
thank you

but what I want is to identify the least state value, then compare it with 2 to decide whether to run programB or C
jennings!

板凳
zhangzachary 发表于 2012-2-13 10:36:28
blliufan 发表于 2012-2-12 17:28
thank you

but what I want is to identify the least state value, then compare it with 2 to decid ...
用proc sort 对state 排序一下,然后对第一条观测值,即最小的state 用call symput 放入宏变量,再按maidenhan的建议写宏就可以了。
寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

报纸
blliufan 发表于 2012-2-13 14:32:39
zhangzachary 发表于 2012-2-13 10:36
用proc sort 对state 排序一下,然后对第一条观测值,即最小的state 用call symput 放入宏变量,再按maid ...
多谢多谢,我去试试,牛人。
jennings!

地板
sunset1986 发表于 2012-2-14 10:59:54
* example of 程序B ;
%choice(state = 1);

* example of 程序C ;
%choice(state = 4);

对于以上语句,建议楼主使用比较清晰指代的宏得名字:

%macro choice(state);
%if &state. < 2 %then %do;
        B(state)
        %end;
%else %do;
        C(state)
        %end;
%mend;

%macro B(state);
...;

%macro C(state);
...;
An honest tale speeds best being plainly told.
Cheers!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 20:34