基于Stata中的非连续ID创建连续ID
给定Stata中的以下变量(基于Stata中的非连续ID创建连续ID,stata,Stata,给定Stata中的以下变量(id和partner),我想创建一个新变量(pid),它只是id中的连续合作伙伴计数器(如您所见,partner不是连续的)。这里是一个MWE: clear input id partner pid 1 1 1 1 1 1 1 3 2 1 3 2 2 2 1 2 3 2
id
和partner
),我想创建一个新变量(pid
),它只是id
中的连续合作伙伴计数器(如您所见,partner
不是连续的)。这里是一个MWE:
clear
input id partner pid
1 1 1
1 1 1
1 3 2
1 3 2
2 2 1
2 3 2
2 3 2
2 3 2
2 5 3
2 5 3
end
另一种方法:
bysort-id(partner):gen-pid=sum(partner!=partner[\n-1])
非常感谢,Maarten!我会等几分钟,然后接受你的回答。
// create example data
clear
input id partner
1 1
1 1
1 3
1 3
2 2
2 3
2 3
2 3
2 5
2 5
end
// create pid
bysort id partner : gen pid = _n == 1
by id : replace pid = sum(pid)
// admire the result
list, sepby(id)