SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 607|回复: 0
打印 上一主题 下一主题

跟crackman读SAS程序(85)--二维数组的应用实例

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-10-28 14:13:25 | 只看该作者

跟crackman读SAS程序(85)--二维数组的应用实例

From crackman's blog on Baidu


               
                <p>问题:</p>
<p>现有数据集X,形式如下<br>
a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3<br>
1 2 3 1 2 2 3 4 2 6 5 8<br>
<br>
现在要把数据集x变成如下的样子<br>
a b c d<br>
1 2 3 1<br>
2 2 3 4<br>
2 6 5 8<br>
答案:</p>
<p>data raw;<br>
&nbsp;&nbsp;&nbsp;  input a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3;<br>
datalines;<br>
1 2 3 1 2 2 3 4 2 6 5 8<br>
11 12 13 11 12 12 13 14 12 16 15 18<br>
;<br>
data out;<br>
&nbsp;&nbsp;&nbsp;  set raw;<br>
&nbsp;&nbsp;&nbsp;  array temp(3,4) _numeric_;/*这个数组其实就是把数据集中的所有变量值按照三行四列的形式存储才数组中,这里非常值得注意和学习,一个观测如何存储在数组中*/<br>
&nbsp;&nbsp;&nbsp;  array out(4) a b c d;<br>
&nbsp;&nbsp;&nbsp;  do i=1 to dim1(temp);/*第一个循环是行循环,先从第一行开始,然后逐个循环列数,并通过行数和列数确定具体的数值赋值给另外一个数组,这里面输出的数组与二维数组的列数是一致,也就是结合点,在数组循环之中,最关键就是识别的结合点*/<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  do j=1 to dim2(temp);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  out(j)=temp(i,j);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  end;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  output;<br>
&nbsp;&nbsp;&nbsp;  end;<br>
&nbsp;&nbsp;&nbsp;  keep a b c d;<br>
run;</p>
<p>另外一个答案:</p>
<p>data have;<br>
input a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3;<br>
cards;<br>
1 2 3 1 2 2 3 4 2 6 5 8<br>
;<br>
<br>
data wanted(keep= a b c d);<br>
set have ;<br>
array aa (3) a1-a3;<br>
array bb (3) b1-b3;<br>
array cc (3) c1-c3;<br>
array dd (3) d1-d3;<br>
do i=1 to 3;<br>
a=aa(i); b=bb(i); c=cc(i); d=dd(i);<br>
output;<br>
end;<br>
run; <br>
其实这个就是分组建立数组,然后在SET读取每一个观测时,根据变量的规律将数值赋值给制定变量</p>
<p>原问题:<a href="http://mysas.net/forum/viewtopic.php?f=4&amp;t=6777"><!-- m --><a class="postlink" href="http://mysas.net/forum/viewtopic.php?f=4&amp;t=6777">http://mysas.net/forum/viewtopic.php?f=4&amp;t=6777</a><!-- m --></a></p> <a href="http://hi.baidu.com/crack%5Fman/blog/item/e8dab03c9747fdcdd462257b.html">阅读全文</a>
               
                <br/><b>类别:</b><a href="http://hi.baidu.com/crack%5Fman/blog/category/%B8%FAcrackman%B6%C1sas%B3%CC%D0%F2">跟crackman读sas程序</a>&nbsp;<a href="http://hi.baidu.com/crack%5Fman/blog/item/e8dab03c9747fdcdd462257b.html#comment">查看评论</a>
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-3 20:10 , Processed in 0.067018 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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