在Stata中的if命令中使用值标签

jam*_*abb 7 stata

我正在处理一组代表不同年份调查的dta文件.方便的是,每年对"country"变量使用不同的值,因此我尝试设置每年匹配的"country"值标签.

我在比较值标签方面遇到了麻烦,但我无法提出正确的语法.现在我有以下内容:

replace country=1 if countryO=="Japan"
replace country=2 if countryO=="South Korea" | countryO=="Korea"
replace country=3 if countryO=="China"
replace country=4 if countryO=="Malaysia"
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为"日本"是价值标签,而不是实际价值.我如何告诉Stata我正在比较价值标签?我知道这很简单,但我已经在谷歌上呆了一个小时了,并没有找到正确的方式来提出这个问题.任何帮助赞赏.

Dim*_*rov 11

尝试

replace country=1 if countryO=="Japan":country0valuelabel
replace country=2 if inlist(countryO,"South Korea":country0valuelabel,"Korea":country0valuelabel)
Run Code Online (Sandbox Code Playgroud)

您必须country0valuelabel使用数据中的相应值标签名称替换.你可以通过查看输出中的倒数第二列找到它的名字describe country0.