Stata命令添加所有选择,制作和未制作的选择

时间:2014-06-21 23:13:05

标签: stata expand

更新:

我解决了问题的第一部分。我为每个观察创建了独特的ID:

  

gen id = _n

然后,我用了

  

fillin id categ

基本上创造了我想要的东西。

但是,对于其余变量(除了id和categ),几乎所有观察都缺失了。现在,我需要你的帮助来复制其余的变量,而不是让它们丢失。 仅作为示例,每个观察与特定周相关联。我失去了大部分。或者另一个虚拟变量表示是否在药店或杂货店进行购买。他们中的大多数都不见了。

谢谢!

原始信息:

在Stata需要你的帮助!

我的数据库中的每次观察都是一个单位购买由客户制作的啤酒产品。这些产品购买被分类为8个一般类别,使得变量“categ”具有从1到8的值(1 =导入,2 =工艺,3 =溢价,4 =光等)。 对于我的多项logit模型,我需要观察每个观察中客户购买或未购买的所有类别。

假设这是我的初始数据集:

客户ID -------啤酒类-----购买单位

---------- 1 ------------------ 1 ----------------- ---- 1

---------- 2 ----------------- 3 ------------------ --- 1

---------- 3 ----------------- 2 ------------------ --- 1

这就是我要找的:

客户ID -------啤酒类-----购买单位

---------- 1 ------------------ 1 ----------------- ---- 1

---------- 1 ----------------- 2 ------------------ --- 0

---------- 1 ----------------- 3 ------------------ --- 0

---------- 2 ----------------- 1 ------------------ --- 0

---------- 2 ----------------- 3 ------------------ --- 1

---------- 2 ----------------- 3 ------------------ --- 0

---------- 3 ----------------- 1 ------------------ --- 0

---------- 3 ----------------- 2 ------------------ --- 0

---------- 3 ----------------- 2 ------------------ --- 1

目前,我的数据集是600,000 obs。在这个程序之后,我应该有600,000 * 8 = 4,800,000 obs。

构建此代码时,必须根据相关的啤酒类别复制数据集中的所有其他变量。

我认为“填充”并且不太可能“扩展”可能有效。

你的帮助会有很大的帮助。 谢谢!

1 个答案:

答案 0 :(得分:1)

这是一个老问题,但如果其他人遇到此问题,我会发布可能的答案。 在这种情况下,您可以为"选择变量"的每个选项生成变量,然后应用reshape long命令:

tab beercategory,gen(b)

reshape long b,i(customerid)j(newvarname)

问候