2017-06-05 73 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 
相关问题