作者Meidien (學海無涯回頭是岸)
看板Statistics
標題[程式] SAS刪除substring重複的樣本
時間Mon Jul 12 21:52:58 2021
[軟體程式類別]: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://webptt.com/m.aspx?n=bbs/Statistics/M.1626097985.A.8C1.html