作者mayxing (mayxing)
看板Statistics
标题[程式] SAS里用merge跑出来的资料完全对不起来
时间Mon Jan 3 18:13:30 2011
[软体程式类别]:SAS
[程式问题]:资料处理
[软体熟悉度]:新手
【问题叙述】
我问卷有四个量表,其中一个量表为忧郁量表,判别是否有忧郁倾向,
男女的切点是不一样,男生>=23,女生>=26,才有忧郁倾向。
(一)教科书没教那麽细,我用我学到的写了不知错在哪里的程式?
(二)男生女生切点都可以跑出来,但合并後只出现一笔资料
obs dall1 dall2
1 . .
(三)合并的资料希望可以用来分析 有忧郁倾向及 没有忧郁倾向 对xxx的影响。
但目前卡死了,请大家帮我看看哪里出了问题?
没有统计基础,在研究所有上一学期统计课,都听不太懂
只会写很详细的步骤><,请各位见谅~
【程式写法如下】
一、男女分别设切点
/*以下为男女分别切忧郁23及26,後再合并为一个变项*/
1.男生切点
data rdall;
set three;
if gender=1 then output;
proc sort;by gender;
run;
data rdall1;
set rdall;
if dall>=23 then dall1=1;
else dall1=0;
proc sort; by id;
run;
2.女生切点
data rdall2;
set three;
if gender=2 then output;
proc sort;by gender;
run;
data rdall3;
set rdall2;
if dall>=26 then dall2=1;
else dall2=0;
proc sort; by id;
run;
二、男女设完切点後,再将两个资料合并起来
data rdall4;
merge rdall1 rdall3;by id;
proc print;
run;
谢谢大家!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.45.60.33
1F:→ MmmRrrrX:最後合并 merge 改成 set 吧(?) 其实应该不用那麽麻烦 01/03 19:42
2F:→ MmmRrrrX:判断式 if gender=1 and dall>=23 then dall1=1; 01/03 19:43
3F:→ MmmRrrrX:else dall1=0; 女生类似,不必分开在合并 吧(?) 01/03 19:44
4F:→ mayxing:女生也是这样吗-if gender=2 and dall>=26 then dall1=1; 01/04 00:07
5F:→ mayxing:else dall1=0;我有点笨,请问那个男女可以同时用dall1吗? 01/04 00:09
6F:→ mayxing:啊~我刚跑过了,成功了!!!!谢谢~帮我超大忙的!!! 01/04 00:12
7F:→ MmmRrrrX:注意要if :if :else : ,如果写成if ;else ;if ;else ; 01/04 00:55
8F:→ MmmRrrrX:前面的会被後面的盖掉 01/04 00:55
9F:→ mayxing:M大意思是这样吗if gender=2 and dall>=26 then dall1=1:? 01/04 01:39
10F:→ mayxing:else dall1=0:如果是这样的话,log显示syntax error耶 01/04 01:41
11F:→ mayxing:还是我弄错你的意思了~谢谢 01/04 01:42
12F:→ mayxing:我刚手动数过,真的从114位被取代变49位,我上面写法对吗? 01/04 02:03
13F:→ MmmRrrrX:抱歉 上面冒号推错 应该是分号 就这样写吧 01/04 10:15
14F:→ MmmRrrrX:dall1=0 ; if gender=1 and dall>=23 then dall1=1; 01/04 10:15
15F:→ MmmRrrrX:if gender=2 and dall>=26 then dall1=1; 01/04 10:16
16F:→ wlsherica:推M大 01/04 10:23
17F:→ mayxing:大推M大!!照您的语法我的问题解决了^^太感谢你啦~~谢谢… 01/04 19:44