我有一个带有适当标签的变量:
Sex | Freq. Percent Cum.
------------+-----------------------------------
Male | 9,043,349 48.70 48.70
Female | 9,524,274 51.30 100.00
------------+-----------------------------------
Total | 18,567,623 100.00
我想通过分类值创建一个包含摘要统计信息的表 . 它在这里没有多大意义,因为只有两个值,但无论如何我们都要这样做 . 我生成
tab sex, gen(sexd_)
然后当我创建表时:
. esttab test, replace cell("mean") label
---------------------------------
(1)
mean
---------------------------------
sex==Male .9028908
sex==Female .0971092
---------------------------------
Observations 123943
---------------------------------
但是表格显示了愚蠢的 sex==
前缀,我想在这里只有 Male
和 Female
. 这是因为 tab, generate
创建了这样的变量:
(1)
mean
---------------------------------
sex==Male .9028908
sex==Female .0971092
---------------------------------
Observations 123943
---------------------------------
如何巧妙地创建我想要的标签,而无需手动浏览所有条目?
1 回答
这个问题可能有助于给出一个最小的代码示例 . 有关一般指导,请参见https://stackoverflow.com/help/mcve . 这是一个这样的结果显示:
tabulate
不知道如何最好地清理 .第一个原则方法是循环变量并从变量标签中删除有问题的前缀文本 . 这里我们只选择
==
之后的内容 . 另一种方法是将文本替换为包含==
的文本,并删除它 .这是一个方便的命令 . 它必须作为SSC包的一部分安装 . 下面的第一个命令只需要在任何机器上完成一次 .
在最坏的情况下,您需要修复几个这样的变量 . 你怎么能有效地识别哪些变量标签包含
==
?您可以编写循环来执行此操作,或使用findname
(search findname
获取最新下载位置) .findname
显示任何匹配变量的变量名称;这些名称可以在`r(varlist)'中访问,因此(给定安装)这会削弱所有可能违规的标签:当然,您需要注意任何误报,即变量标签中需要
==
的任何变量 .您可以随时手动创建指标并直接创建自己的变量标签;或直接更改变量标签 .