看板 Statistics 關於我們 聯絡資訊
[軟體程式類別]: 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://www.ptt.cc/bbs/Statistics/M.1524852225.A.3B8.html
a8111127: data xxx; set xxx; ord=_n_; run; 就可以在data裡面加 04/28 03:05
a8111127: 上觀測值的順序,四個data都這樣用完之後再merge by ord 04/28 03:05
a8111127: 不過我蠻好奇dataset裡面怎麼會沒有id啊,這樣完全不能 04/28 03:10
a8111127: 動到任何的順序欸 04/28 03:10
AmigoSafin: hah是我沒有加ID啦 我以為obs就是ID了 所以我曾試過 04/28 08:34
AmigoSafin: 用 by obs果然就不行 謝謝喔~~真是有點tricky 感覺是 04/28 08:34
AmigoSafin: 單純的用SAS處理就有點費劲 04/28 08:35
AmigoSafin: 只是為什麼要動到順序?@@ 04/28 08:35
a8111127: 像treatment如果要proc freq,那就要照順序排,而且要mer 04/28 11:03
a8111127: ge什麼的都很不方便 04/28 11:03
west1996: 如果要直接照obs merge的話,直接data XXX; merge XXX; 04/28 14:44
west1996: 不要加by,就可以完成merge by obs了,不需要自己生流水 04/28 14:44
west1996: 號出來 04/28 14:44
AmigoSafin: 喔喔懂了~~謝謝大家!!抱歉我比較沒有sense~剛開始學 04/28 20:11