查看: 1904| 回复: 7
跳转到指定楼层
上一主题 下一主题
收起左侧

[统计--软件] 最近SAS ADV两道机经上的LAB题求问。。跪谢

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 bachelor0799781 于 2020-6-14 06:38 编辑

第一道是写出一个Macro,包含global的macro variable X,初始值1.25, 做do loop, by increment 0.25,直到2为止。。. ----

%let x=1.25; ..
. .и
%macro loop;
%let x=1.25;-baidu 1point3acres
%do %until (&x>2);
%put x; ..
%let x=%sysevalf(&x+0.25);
%end;
%mend loop;
% loop;

这程序跑了下没结果,不懂错哪儿了?望大神指点

第二题:用Array把Q1-Q10的ABCDE换成12345,存到num1-num10中。

这道题没理解意思。是说把Q1到Q10的ABCDE整体替换成12345,存到另外一个array num1-num10中,还是说分别把A,B,C,D, E五个字母替换成分别五个数字1,2,3,4,5?
这道题我理解是各自替换五个字母变1,2,3,4,5; 但是如何写入num1-num10呀? 胡乱写了下:
-baidu 1point3acres
array character (10) Q1-Q10;
do i=1 to 10;. .и
if character{i} ='A' then character{i}=1;
if character{i} ='B' then character{i}=2;
if character{i} ='C' then character{i}=3;
if character{i} ='D' then character{i}=4;
if character{i} ='E' then character{i}=5;
.google  и
end;
run;. .и

可是如何写入Num1-num10? 这个是新的变量的意思吗?
run;

请各位大神指点

一周后要考试了,跪谢各位解答的大神
-baidu 1point3acres
补充内容 (2020-6-14 09:12):
第二题已经解决了。

上一篇:SAS base
下一篇:SAS Base 6/13考试鸡精 949/1000
🔗
Sums 2020-6-14 08:52:36 | 只看该作者
全局:
%let x=1.25;

%macro loop(y);
%do %until (&y>2);
%put &y;
%let y =%sysevalf(&y+0.25);
%end;
%mend loop;

%loop(y=&x);
. .и
第一题你是不是要在macro里面设置一个positional keyword?
回复

使用道具 举报

🔗
 楼主| bachelor0799781 2020-6-14 09:12:51 | 只看该作者
全局:
第二题解决了,自己更新一下:
. From 1point 3acres bbs
data work.result;
SET abcde;
Drop i;
ARRAY qq (10) Q1-Q10;
ARRAY numnum (10) num1-num10;. ----
DO i=1  to 10;
If  qq(i)=’A’ then numnum(i)=1;
Else If  qq(i)=’B’ then numnum(i)=2;
Else If  qq(i)=’C’ then numnum(i)=3;.google  и
Else If  qq(i)=’D’ then numnum(i)=4;
Else If  qq(i)=’E’ then numnum(i)=5;
End;
Run;
回复

使用道具 举报

🔗
 楼主| bachelor0799781 2020-6-14 09:18:24 | 只看该作者
全局:
本帖最后由 bachelor0799781 于 2020-6-14 09:23 编辑
Sums 发表于 2020-6-14 08:52
%let x=1.25;.1point3acres

%macro loop(y);

多谢。

但是我按你的程序跑了一下,发现只有log, 还是 没有results。是这样的结果吗?

options nototes Nostimer Nosourse  Nosyntaxcheck


%let x=1.25;
%macro loop(y);
%do %until (&y>2);
%put &y;
%let y=%sysevalf(&y+0.25);
%end;
%mend loop;
%loop(y=&x);
. .и



1.25
1.5
1.75
2. 1point3acres.com

options nototes Nostimer Nosourse  Nosyntaxcheck. ----
回复

使用道具 举报

🔗
Sums 2020-6-14 10:21:13 | 只看该作者
全局:
对啊 那个1.25 ..
1.5
1.75
2
就是结果啊
回复

使用道具 举报

🔗
 楼主| bachelor0799781 2020-6-14 11:28:49 | 只看该作者
全局:
Sums 发表于 2020-6-14 10:21
对啊 那个1.25
1.5
1.75

thx a lot
回复

使用道具 举报

🔗
Janny2020 2020-6-15 03:45:11 | 只看该作者
全局:
第二题怎么解决的,请分享,谢谢
回复

使用道具 举报

🔗
Janny2020 2020-6-15 05:05:43 | 只看该作者
全局:
看到了,感谢!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表