楼主: chenxueping
2688 16

初学sas [推广有奖]

11
chenxueping 发表于 2007-3-20 22:04:00 |只看作者 |坛友微信交流群

应该有人说一下把

使用道具

12
zzheng722 发表于 2007-3-23 05:13:00 |只看作者 |坛友微信交流群

data a;

input a1-a3;

cards;

28 55 70

88 99 100

. 100 100

56 90 88

77 22 33

88 63 92

100 56 33

90 60 100

58 65 72

66 77 88

;

run;

data b;

set a;

array x{3} a1-a3;

do i=1 to 3;

examid=i;

if 60<=x{i}<=100 then pass_exam=1;

else pass_exam=0;

output;

end;

drop i;

run;

proc print data=b;

run;

[此贴子已经被作者于2007-3-23 21:47:18编辑过]

使用道具

13
yaolixiang 发表于 2007-3-23 09:30:00 |只看作者 |坛友微信交流群
以下是引用chenxueping在2007-3-16 18:19:00的发言:

问题是这样的:

比如: data a;

array a(3) a1-a3;

input a1-a3;

cards;

...

;

假设有10个观测,我要找两个观测,这两个观测当然满足一定的条件(此时,需要用到a1,a2 ,a3)那么,是不是就要对这10个观测进行循环,让每一个观测都与其余观测做运算,但_n_好象不是变量,请教!3x!!(不知道我的意思有没有说清楚?)

我不是很清楚你的意思,如果你要找观测,不是非得用循环,你的数组跟你的意思有什么关系么

比如:

DATA A;

SET A;

IF A1+A2=A3;

RUN;

使用道具

14
3fatty 发表于 2007-3-23 10:48:00 |只看作者 |坛友微信交流群
觉得lz的意思是不是类似:如果有10个观察,找到其中两个完全相同的观察,保留下来。个人认为需要用二维数组。

使用道具

15
chenxueping 发表于 2007-3-23 21:24:00 |只看作者 |坛友微信交流群
"相等"只是假设的一种条件,实际中并不是这个条件,只是当二个数组的元素之间满足一定的条件时就可以了,在此假定要做循环,

使用道具

16
chenxueping 发表于 2007-3-25 16:43:00 |只看作者 |坛友微信交流群

还是不回啊!

使用道具

17
chenxueping 发表于 2007-3-30 21:19:00 |只看作者 |坛友微信交流群
知道了,只要把它放到矩阵里就可以做了

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 13:27