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                            |
     +--------------------------------------------------------+