[問題] SAS 關鍵字搜尋建立新欄位

看板Statistics作者 (真的是Fool...)時間16年前 (2009/12/14 22:47), 編輯推噓3(304)
留言7則, 2人參與, 最新討論串1/1
大家好 想請問 SAS 關鍵字搜尋 譬如 資料A 為 : n content 1 綠色鉛筆 2 可愛紅色鬧鐘 3 藍色娃娃 我想要用關鍵字搜尋如果content有出現"綠色" 則color="綠色" 有出現"紅色" 則color="紅色" 有出現"藍色" 則color="藍色" 希望輸出結果B : n content color(新增欄位) 1 綠色鉛筆 綠色 2 可愛紅色鬧鐘 紅色 3 藍色娃娃 藍色 我是寫: data B; set A ; if content contains "綠色" then color="綠色"; ~~~~~~~~ 這部分ㄧ直有問題.. 我之前有用過 where var contains 來寫入有某些關鍵字的資料~是ok的 不過用在條件句 就有問題 請問各位 該如何寫呢? 萬分感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.80.190

12/14 22:51, , 1F
contains用在proc sql, data step不能用
12/14 22:51, 1F

12/14 22:52, , 2F
data step 可使用更強力的搜尋: regular expression
12/14 22:52, 2F

12/14 22:53, , 3F
不過初學要先克服help裡面的大串英文, 需要花點時間
12/14 22:53, 3F

12/14 22:55, , 4F
可從查詢 rxparse/rxmatch 這兩個函數開始入手
12/14 22:55, 4F

12/14 22:57, , 5F
不然就改用proc sql, 會比較快
12/14 22:57, 5F

12/14 23:04, , 6F
或者可以試試較另類的方法: 用index()搜尋關鍵字
12/14 23:04, 6F

12/15 19:25, , 7F
感恩 已用index寫出來了~3q
12/15 19:25, 7F
文章代碼(AID): #1B9b0HKm (Statistics)