作者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