Stata:附加两个数据集,保留值标签

时间:2017-01-25 23:18:05

标签: append stata

我正在使用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执行此操作?如果没有,我们非常欢迎任何有效执行任务的建议。

2 个答案:

答案 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/,您将获得随后将附加到完整数据集的标签的本地副本。