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