我正在使用Stata14而我正在尝试追加两个调查数据集,这些数据集包含约200个具有相同名称但值和值标签不同的变量。我想进行追加,以便从磁盘上的数据集中保留值标签。
以下是描述我的问题的示例:
数据集1(主数据)中的变量:
价值 - 标签
1 - 是
2 - 没有
数据集2中的相同变量(附加到master):
价值 - 标签
1 - 是的,绝对是
2 - 绝对没有
3 - 也许是
4 - 不知道
append using "dataset 2.dta"
价值 - 标签
1 - 是
2 - 没有
3 - 3
4 - 4
期望的结果:
价值 - 标签
1 - 是
2 - 没有
3 - 也许是
4 - 不知道
有没有办法直接使用append
执行此操作?如果没有,我们非常欢迎任何有效执行任务的建议。
答案 0 :(得分:1)
您希望使价值标签保持一致,这是合理,精细且易于操作的。
如果您append
编辑了所有数据集,则可以快速覆盖任何值标签分配
label define whatever 1 yes 2 no 3 maybe 4 "don't know"
label val myvar whatever
如果已存在具有该名称的一组值标签,则在第一个上使用, modify
。
这是一项迟到的任务。它不需要在append
之前或期间修复,并且最容易在那时完成。
当然,这对于几个变量来说是乏味的,但它并不难理解。此外,即使append
能够获取使用哪些标签的说明,您仍然需要拼写出来。在您的示例中,您想要的值标签实际上并未在任何数据集中使用。所以,会有一些不可避免的痛苦。有一个烂摊子要解决,修复不能完全自动化,因为它取决于你对什么标签最好的想法。
答案 1 :(得分:0)
简而言之,答案是
NOPE
所以你必须聪明。尝试使用此技巧http://www.stata.com/support/faqs/data-management/keeping-same-variable-with-collapse/,您将获得随后将附加到完整数据集的标签的本地副本。