SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

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

跟crackman读SAS程序(78)--DATA STEP均值填补缺失值

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-10-22 21:43:03 | 只看该作者

跟crackman读SAS程序(78)--DATA STEP均值填补缺失值

From crackman's blog on Baidu


               
                <p>data crackman;<br>
input x y@;<br>
datalines;<br>
1 2<br>
3 4<br>
5 6<br>
. 9<br>
6 7<br>
7 .<br>
1 8<br>
6 3<br>
;<br>
run;<br>
data crackman;</p>
<p>/*当读入第一个观测时,识别_N_=1,开始执行循环,这个循环知道最后一个观测结束才开始执行后面的SET语句,执行结束之后,OBS LASTOBS其实还是保留在PDV里面的,可以被调用的,有些时候我们可以认为SET语句类似其他语言的定义变量一样,因为SET标识符,在编译过程中就建立PDV,等于在内存上申请了一块地盘,你可以用IF 1 或者 IF 0来是否执行SET语句*/<br>
if _n_=1 then do until(lastobs);<br>
set crackman nobs=obs end=lastobs;<br>
sum_x+x;<br>
sum_y+y;<br>
end;<br>
set crackman;<br>
if x=. then x=ceil(sum_x/obs);<br>
if y=. then y=ceil(sum_y/obs);<br>
run;<br>
proc print;<br>
run;</p>
<p> </p> <a href="http://hi.baidu.com/crack%5Fman/blog/item/cb0038a9e5e109064a36d672.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/cb0038a9e5e109064a36d672.html#comment">查看评论</a>
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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