Stata 按ID,唯一地展开多个列
假设我有这个数据集Stata 按ID,唯一地展开多个列,stata,Stata,假设我有这个数据集 id headquarter_name subsidiary_name A Apple Apple A Apple Inc. Apple A Apple Computer Apple corp. B Microsoft MS B MS MS 为方便起见,我创建了以下数据集: 我想为每个id创建一个分
id headquarter_name subsidiary_name
A Apple Apple
A Apple Inc. Apple
A Apple Computer Apple corp.
B Microsoft MS
B MS MS
为方便起见,我创建了以下数据集:
我想为每个id创建一个分布广泛的唯一名称列表,如下所示
id Name1 Name2 Name3 Name4
A Apple Apple Inc. Apple Computer Apple corp.
B Microsoft MS
它必须是独一无二的。苹果出现过很多次,但它只出现过一次
要做到这一点,到目前为止我唯一能想到的就是这个,当然,它并没有达到我想做的
collapse (first) headquarter_name subsidiary_name,by(id)
在这方面的一个变体是在删除重复项之前增加按提及频率排序 感谢您的附件,但是stata tag wiki解释了如何最好地显示数据示例。太棒了。非常感谢。
clear
input str1 id str42 ( headquarter_name subsidiary_name)
A "Apple" "Apple"
A "Apple Inc." "Apple"
A "Apple Computer" "Apple corp."
B "Microsoft" "MS"
B "MS" "MS"
end
stack id headquarter_name id subsidiary_name, into(id name) clear
drop _stack
duplicates drop
bysort id (name) : gen which = _n
reshape wide name, i(id) j(which)
list
+--------------------------------------------------------+
| id name1 name2 name3 name4 |
|--------------------------------------------------------|
1. | A Apple Apple Computer Apple Inc. Apple corp. |
2. | B MS Microsoft |
+--------------------------------------------------------+