0
我有一個變量,名爲diagnosis
,我想替換包含單詞「肺炎」只用「肺炎」替代變量的值,如果它包含特定字符串
我想這一切:
replace diagnosis = "Pneumonia" if regexm (diagnosis, "pneumonia")
但我得到一個錯誤:無法識別的命令:正則表達式
我有用於Windows的Stata/IC版本12.1。
我有一個變量,名爲diagnosis
,我想替換包含單詞「肺炎」只用「肺炎」替代變量的值,如果它包含特定字符串
我想這一切:
replace diagnosis = "Pneumonia" if regexm (diagnosis, "pneumonia")
但我得到一個錯誤:無法識別的命令:正則表達式
我有用於Windows的Stata/IC版本12.1。
答:
取出空間regexm
和(diagnosis, "pneumonia")
之間的其他建議:
regexm
需要很長的時間,所以我會做更多的東西一樣
replace diagnosis = "Pneumonia" if diagnosis == "pneumonia"
其達到相同的結果,或者如果你想更廣泛地做到這一點,你可以寫
replace diagnosis = strproper(diagnosis)
其中有在你的例子同樣的結果。
另一種方法。
. 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