Stata 在 master 和 using 中都与重复项合并

Stata merge with duplicates in both master and using

提问人:bill999 提问时间:11/15/2023 更新时间:11/15/2023 访问量:18

问:

假设我有两个数据集:

clear all
set obs 4
gen a = _n<3
gen b = "b_"+string(_n)
gen n = _n
tempfile data1
save `data1'

clear all
set obs 4
gen a = _n<3
gen c = "c_"+string(_n)
tempfile data2
save `data2'

两者都包含该级别的重复项。但我想对它们进行匹配,以便中的每个观测值都与具有相同值的所有观测值匹配(以便合并数据集中有八个观测值)。(合并 1:1、m:1 和 1:m 显然行不通,合并 m:m 不能给我想要的东西。adata1data2a

这种方法有效,但很笨拙。我怎样才能以更简单的方式做到这一点?

use `data1', clear
bys a (n): keep if _n==1
merge 1:m a using `data2', nogen
sort b
tempfile m1
save `m1'

use `data1', clear
bys a (n): keep if _n==2
merge 1:m a using `data2', nogen
sort b
tempfile m2
save `m2'

use `m1', clear
append using `m2'
合并 重复项 stata

评论


答: 暂无答案