SAS中文论坛
标题:
又卡壳了。又遇到一个问题,请指点,多谢了
[打印本页]
作者:
shiyiming
时间:
2008-11-26 19:31
标题:
又卡壳了。又遇到一个问题,请指点,多谢了
又卡壳了。又遇到一个问题,想了很久,还是不懂如何解决 <!-- s:( --><img src="{SMILIES_PATH}/icon_sad.gif" alt=":(" title="Sad" /><!-- s:( --> 。 问题如下:
数据是这样的,有三个变量:House_ID (比如有3个家庭,1,2 和3),Date(比如总共样本期内有5天),Purchase (每天的花销金额)。
House_ID Date Purchase
1 1 71
1 2 59
1 3 53
1 4 49
1 5 51
2 1 13
2 3 20
2 5 19
3 2 36
3 3 41
3 4 39
3 5 34
我们注意到,House 1在每一天中都有观测值。而House 2却在Date 2中没有观测值;House 3在Date 1中没有观测值。请教,如何能够把我的数据转化成如下的形式:
House Date Var
1 1 71
1 2 59
1 3 53
1 4 49
1 5 51
2 1 13
2 2 .
2 3 20
2 4 .
2 5 19
3 1 .
3 2 36
3 3 41
3 4 39
3 5 34
即,就算某一天中没有观测值。我们也能够“插入一行”,这一行有日期以及用点"."表示没有观测值。请各位多多帮忙,提供解法或者思路,我先说声谢谢了。 <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
作者:
shiyiming
时间:
2008-11-26 19:46
标题:
Re: 又卡壳了。又遇到一个问题,请指点,多谢了
方法实在太多了,老掉牙的题目了。
方法一:data步
方法二:proc means。
方法三:proc expand
data步代码量多一点。
proc 的代码量少一点:
作者:
shiyiming
时间:
2008-11-26 20:17
标题:
Re: 又卡壳了。又遇到一个问题,请指点,多谢了
To byes:多谢你的指点。
惭愧,试了一下,还是不懂。我会多找些例子看看,接着试。
对于proc expand或者proc means的方法,能否分别指点地具体一点?先说声谢谢了。 <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
作者:
shiyiming
时间:
2008-11-26 20:58
标题:
Re: 又卡壳了。又遇到一个问题,请指点,多谢了
懂了懂了,多谢byes兄!!! <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
作者:
shiyiming
时间:
2008-11-27 08:59
标题:
Re: 又卡壳了。又遇到一个问题,请指点,多谢了
凑个热闹,加强一下记忆!~用proc freq作的!~
data raw;
input House_ID $ Date Purchase;
cards;
1 1 71
1 2 59
1 3 53
1 4 49
1 5 51
2 1 13
2 3 20
2 5 19
3 2 36
3 3 41
3 4 39
3 5 34
;
run;
proc freq data=raw noprint;
table House_ID*Date/sparse out=result(drop=percent rename=(count=purchase));
weight purchase;
run;
作者:
shiyiming
时间:
2008-11-29 19:31
标题:
Re: 又卡壳了。又遇到一个问题,请指点,多谢了
to 缘来是你
多谢热心肠! <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2