只有当另一个(也)字符串变量的值等于"xxx“时,我才知道如何告诉Stata替换字符串变量的值?为了说明这个问题:我需要以市政当局的名义根据匹配合并两个数据集(不幸的是,我没有任何对这两个数据集都很常见的数据集)。在第一个数据集中,有几家医院被命名为“法兰克福”。在第二个数据集中,出现了两次法兰克福事件:“法兰克福机场”和“法兰克福(奥登)”。他们都有医院。因此,我必须采用额外的标准来区分它们。换句话说,我不能简单地告诉Stata用“法兰克福”取代所有的市政价值。“法兰克福梅因”(在本例中,我可以使用命令
replace ort = subinstr(ort, "Frankfurt", "Frankfurt am Main", .) 但我必须首先找到医院的位置,帮助其指定,然后告诉斯塔塔,例如用FaM代替法兰克福,如果designation=="xxx“。我想这不应该是那么困难的命令,但我找不到。
发布于 2016-03-21 22:43:01
你似乎已经回答了你自己的问题,所以我不知道困惑在哪里。否则,您将不会显示您尝试过的语法,这些语法并没有实现您想要的效果。
replace ort = subinstr(ort, "Frankfurt", "Frankfurt am Main", .) if designation == "XXX" 如果designation是一个变量名,而字符串XXX正是您想要检查的,则将是合法的。
严格地说,这里使用的if是一个限定符,而不是选项。
https://stackoverflow.com/questions/36142722
复制相似问题