看板 Statistics 關於我們 聯絡資訊
[軟體程式類別]:SAS [程式問題]:資料處理 [軟體熟悉度]:熟悉 [問題敘述]: 大家好,遇到一個資料處理的問題查不太到解法,來請教各位前輩。 我有一組資料長的像下面這樣: data have; input ObsName $; cards; EDZ ED E EDCBA EDFBA EDFB EDY ; run; 其中,某個obs可能是另一個obs的子字串,例如ED是EDZ、EDCBA等的子字串, 我需要做的是如果某個obs是另一obs的子字串,那麼只保留較長的那一個。 換句說話,想要把have變成下面的資料集: EDZ EDCBA EDFBA EDY 我目前是試著sort by ObsName,並且加上長度變數會得到: ObsName Length E 1 ED 2 EDCBA 5 EDFB 4 EDFBA 5 EDY 3 EDZ 3 感覺從length找local maximum之類的好像可行,但是不確定是不是會遇到例外狀況, 這個方法感覺很土法煉鋼,不知道位各前輩是否有比較好的做法,還請不吝指教,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.212.234 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1626097985.A.8C1.html