STATA joinby命令
joinby。当我们进行数据的横向合并时,经常会用到merge命令,但是在使用merge命令进行一对一合并、一对多合并、多对一合并和多对多合并都不是我们想要的结果时,可以考虑使用joinby组内交叉合并。老规矩,还是先上命令语法和选项介绍。
一、命令介绍
1、命令语法
joinby [varlist] using filename [, options]
2、选项介绍
update
:当master数据集中存在缺失值时,指定此选项可以使得using数据集中的非缺失值对其进行更新覆盖。
replace
:这个选项只能与update
一起使用。当指定此选项时,master数据集中的非缺失值将被using数据集的相应值替换。但是一个非缺失的观测值不会被一个缺失的观测值替换。
unmatched()
:当观测值不匹配时,指定此选项可以保留一个数据集的观测值。unmatched(none)
表示忽略所有不匹配的观测值;unmatched(both)
表示同时保留master和using数据集的不匹配的观测值;unmatched(master)
表示仅保留master数据集中不匹配的观测值;unmatched(using)
表示仅保留using数据集中不匹配的观测值。
_merge(varname)
:使用此选项可以标记合并结果中观测值的来源,默认为_merge。
nolabel
:这个选项可以防止Stata直接从using数据集复制值标签到master数据集。