作者AmigoSafin ()
看板Statistics
標題[程式] SAS combine四個同樣數量的欄位 用set
時間Sat Apr 28 02:03:41 2018
[軟體程式類別]:
SAS
[程式問題]:
資料處理、迴歸、敘述統計、logistic、probit...等
資料處理
[軟體熟悉度]:
請把以下不需要的部份刪除
新手
[問題敘述]:
大家好
我有四個obs都是401個的dataset
第一個是baseline 第二個是month_12 第三個是group(為1或0) 第四個是時間
這四組每組的數量都是401個
我在SAS建了四個datasets
然後我想把他們combine再一起
變成四個欄位
我用了set
以下為我的code:
data sasuser.totalobs;
set sasuser.baseline sasuser.treattime sasuser.month12 sasuser.group (
firstobs=1 obs= 401);
proc print data=sasuser.totalobs;
run;
但是 他們卻變成接續的一個matrix
也就是當baseline有數值的時候
其他欄位都是0
像這樣:
obs baseline monthdata groupdata timedata
1 XXX . . .
是否我需要用merge才能讓他們並列存在成四個欄位呢?
我用了firstobs=1 obs=401也無法改善
但merge必須要有共同的變數對吧?
我並沒有 只想讓他們並列
有什麼方法可以修改一下呢?
謝謝大家~~
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 129.21.68.158
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Statistics/M.1524852225.A.3B8.html
1F:推 a8111127: data xxx; set xxx; ord=_n_; run; 就可以在data裡面加 04/28 03:05
2F:→ a8111127: 上觀測值的順序,四個data都這樣用完之後再merge by ord 04/28 03:05
3F:→ a8111127: 不過我蠻好奇dataset裡面怎麼會沒有id啊,這樣完全不能 04/28 03:10
4F:→ a8111127: 動到任何的順序欸 04/28 03:10
5F:→ AmigoSafin: hah是我沒有加ID啦 我以為obs就是ID了 所以我曾試過 04/28 08:34
6F:→ AmigoSafin: 用 by obs果然就不行 謝謝喔~~真是有點tricky 感覺是 04/28 08:34
7F:→ AmigoSafin: 單純的用SAS處理就有點費劲 04/28 08:35
8F:→ AmigoSafin: 只是為什麼要動到順序?@@ 04/28 08:35
9F:推 a8111127: 像treatment如果要proc freq,那就要照順序排,而且要mer 04/28 11:03
10F:→ a8111127: ge什麼的都很不方便 04/28 11:03
11F:推 west1996: 如果要直接照obs merge的話,直接data XXX; merge XXX; 04/28 14:44
12F:→ west1996: 不要加by,就可以完成merge by obs了,不需要自己生流水 04/28 14:44
13F:→ west1996: 號出來 04/28 14:44
14F:→ AmigoSafin: 喔喔懂了~~謝謝大家!!抱歉我比較沒有sense~剛開始學 04/28 20:11