Stata中如何设置审计意见为标准无保留的取值1,其余的审计意见类型取值0
在 Stata 里把“标准无保留”以外所有意见一次性压成 0,只需一条 encode 配合 recode(或直接用 cond())即可,无需手工对每一种文字写判断。下面给出最简洁、最通用的两段代码,任选其一。
假设原始文字型变量叫 audit_opinion
(取值可能是“标准无保留”“保留意见”“否定意见”“无法表示意见”等任意写法)。
方法一:先变成数值型,再合并
* 1. 把文字 encode 成数值,映射关系自动存在标签里
encode audit_opinion, generate(audit_num)
* 2. 只看标签值是否为“标准无保留”,其余全归 0
recode audit_num (1=1) (2/99=0), generate(standard) // 1 对应 encode 后的最小值
label variable standard "1=标准无保留,0=其他"
说明:encode 会把“标准无保留”按字母顺序排在第 1 组,因此它对应的数值就是 1;后面的任何编号都 recode 成 0。
方法二:一条命令完成,无需中间变量
generate standard = (audit_opinion == "标准无保留") if !missing(audit_opinion)
逻辑表达式返回 1/0,缺失值仍保持缺失;若文字里有多余空格,可先用 strtrim()
清理。
完成后检查:
tab standard
看到只有 0 和 1(以及可能的缺失),就表示转换成功。