[程式] SAS combine四個同樣數量的欄位 用set

看板Statistics作者時間7年前 (2018/04/28 02:03), 編輯推噓3(3011)
留言14則, 3人參與, 7年前最新討論串1/1
[軟體程式類別]: 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

04/28 03:05, 7年前 , 1F
data xxx; set xxx; ord=_n_; run; 就可以在data裡面加
04/28 03:05, 1F

04/28 03:05, 7年前 , 2F
上觀測值的順序,四個data都這樣用完之後再merge by ord
04/28 03:05, 2F

04/28 03:10, 7年前 , 3F
不過我蠻好奇dataset裡面怎麼會沒有id啊,這樣完全不能
04/28 03:10, 3F

04/28 03:10, 7年前 , 4F
動到任何的順序欸
04/28 03:10, 4F

04/28 08:34, 7年前 , 5F
hah是我沒有加ID啦 我以為obs就是ID了 所以我曾試過
04/28 08:34, 5F

04/28 08:34, 7年前 , 6F
用 by obs果然就不行 謝謝喔~~真是有點tricky 感覺是
04/28 08:34, 6F

04/28 08:35, 7年前 , 7F
單純的用SAS處理就有點費劲
04/28 08:35, 7F

04/28 08:35, 7年前 , 8F
只是為什麼要動到順序?@@
04/28 08:35, 8F

04/28 11:03, 7年前 , 9F
像treatment如果要proc freq,那就要照順序排,而且要mer
04/28 11:03, 9F

04/28 11:03, 7年前 , 10F
ge什麼的都很不方便
04/28 11:03, 10F

04/28 14:44, 7年前 , 11F
如果要直接照obs merge的話,直接data XXX; merge XXX;
04/28 14:44, 11F

04/28 14:44, 7年前 , 12F
不要加by,就可以完成merge by obs了,不需要自己生流水
04/28 14:44, 12F

04/28 14:44, 7年前 , 13F
號出來
04/28 14:44, 13F

04/28 20:11, 7年前 , 14F
喔喔懂了~~謝謝大家!!抱歉我比較沒有sense~剛開始學
04/28 20:11, 14F
文章代碼(AID): #1QusO1Eu (Statistics)