2017-06-05 77 views
0

我有一個變量,名爲diagnosis,我想替換包含單詞「肺炎」只用「肺炎」替代變量的值,如果它包含特定字符串

我想這一切:

replace diagnosis = "Pneumonia" if regexm (diagnosis, "pneumonia") 

但我得到一個錯誤:無法識別的命令:正則表達式

我有用於Windows的Stata/IC版本12.1。

回答

1

答:

取出空間regexm(diagnosis, "pneumonia")

之間的其他建議:

regexm需要很長的時間,所以我會做更多的東西一樣

replace diagnosis = "Pneumonia" if diagnosis == "pneumonia" 

其達到相同的結果,或者如果你想更廣泛地做到這一點,你可以寫

replace diagnosis = strproper(diagnosis) 

其中有在你的例子同樣的結果。

0

另一種方法。

. clonevar newdiag = diag 

. replace newdiag = "pneumonia" if strpos(strlower(diag),"pneumonia")>0 
(3 real changes made) 

. list, clean noobs 

        diag  newdiag 
       pneumonia pneumonia 
       Pneumonia pneumonia 
    Bronchial pneumonia pneumonia 
     Flu and pneumonia pneumonia 
       earache  earache 
相關問題