看板 Statistics 關於我們 聯絡資訊
[軟體程式類別]: SAS [程式問題]: 資料處理 [軟體熟悉度]: 低(1~3個月) [問題敘述]: 我想要將某些特性的觀察值分組,但是這些特性很亂而且沒有一定的規則 舉例: ID region co-region_1 co-region_2 co-region_3 A 101 B 102 C 103 D 104 我想要新創co-region來進行分類 基本的想法如下 [程式範例]: data b; set a; select; when ( region=101 or region=102 ) co-region_1=1; otherwise co-region_1=0; when ( region=101 or region=102 or region=103 ) co-region_2=1; otherwise co-region_2=0; when ( region=102 or region=104 ) co-region_3=1; otherwise co-region_3=0; end; run; 無誤的話可以得到的結果為 ID region co-region_1 co-region_2 co-region_3 A 101 1 1 0 B 102 1 1 1 C 103 0 1 0 D 104 0 0 1 嗯...但是,我預計要分350組左右 而且每一組之間都不會有順序或其他的關連性 所以目前我想到的是土法煉鋼,就一筆一筆的key-in 但是想一想又覺得自己的做法有點笨,所以請版友提供更聰明的解決方法 感 謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.153.11
kenshin528:沒有規則?? 那一筆一筆KEY應該會比較快唷 04/22 17:27
hanjing:對..沒有規則,而且region的部份還可能有4200,7205這種四位 04/22 17:28
hanjing:數字....真麻煩~ 04/22 17:29
wlsherica:做苦工@@? 04/22 20:11
kenshin528:那妳的判斷件是啥? 04/22 20:37
hanjing:唉~說到判斷條件啊...其實就是鄰近區域的判別,例如美國的 04/22 21:46
hanjing:鄰國是加拿大和墨西國,所以我就將他們整理在第一組 04/22 21:47
hanjing:而加拿大的鄰國只有美國,所以這一組就是第二組..所以啊 04/22 21:47
hanjing:你想到非洲,南美洲啊...就知道很難整理了 04/22 21:48
tew:簡單的做法是 先做國家的coding 04/22 22:04
hanjing:嗯coding我完成了啊...但是接下來就是要分組了,我只想到用 04/23 09:52
hanjing:select去分組,但接下來也是面臨到做苦工啊就是要開始,when 04/23 09:54
hanjing:(coding=101 or coding=102) co-coding=1; 有更好的方法嗎 04/23 09:56
嗯,根據TEW版友的說法 其實我已經有完成各國家coding 而且也將該國與鄰國的coding整理在一起 像是 國家 代碼 鄰近國家 美國 101 102,103 加拿大 102 101 墨西哥 103 101 而我希望分組就是要將美國,加拿大,墨西哥三個國家框在同一組 而將美國,加拿大框在另一組 以上這個表我有另外整理在excel檔裡面 但似乎對我在sas將他們分組沒有很大的幫助 我目前只能笨笨的 select; when ( coding=101 or coding=102 or coding=103 ) co-coding=1; otherwise co-coding=0; end; 嗯...就是這樣 感謝版友的支持 ※ 編輯: hanjing 來自: 140.138.153.11 (04/23 10:10)
kenshin528:與其要這樣寫語法 真的不如手動CODEING 還比較快... 04/23 10:50
lin15:美國,加拿大,墨西哥三個國家框在同一組 然後又美國加拿大一 04/23 11:57
lin15:組? 好怪? 04/23 11:57
sneak: 沒有規則?? 那一筆一 https://daxiv.com 01/02 15:06