Stata:重塑宽到长

时间:2017-05-03 00:40:57

标签: stata

我有一个小诊所的数据集,看起来像这样:(我为无法在表格中嵌入表格而道歉)

Example tables

我尝试做的是使数据集的顶部长形看起来像底部宽的形式。我尝试使用代码:

改革日期伤害_code_1 ....,我(ID)j(VisitNum)

我得到的错误代码是:

"您的数据中除了a,b,ID,VisitNum之外还有其他变量。它们必须在ID内保持不变,因为这是它们可以适应广泛数据而不会丢失信息的唯一方法。

上面列出的变量或变量在ID中不是常数。也许价值是错误的。为问题观察列表键入reshape error。

要么是这样,要么因为它们应该变化而变化,在这种情况下你必须将变量添加到要重新整形的xij变量列表中,或者删除它们。"

代码的第一部分是关注我的,我知道伤害代码与ID不一致,人们会受到不同的伤害,并且我会随着时间的推移跟踪这些伤害。我使用错误的代码吗?我真的很难过如何处理这个问题。

1 个答案:

答案 0 :(得分:1)

使用屏幕截图中所示的数据,以下对我有用:

clear

input ID VisitNum str6 date Injury_1 Injury_2 Injury_3 gender
1 1 "12-Mar" 1 2  3 0
2 1 "2-Apr"  4 .  . 1
1 2 "23-Jun" 1 2  . 0
3 1 "1-Feb"  5 6  . 1
1 3 "30-Aug" 8 9 10 0
end

reshape wide date Injury_1 Injury_2 Injury_3, i(ID) j(VisitNum)

order ID gender
list, abbreviate(15)

     +----------------------------------------------------------------------------------------------------------------------------------------------------+
     | ID   gender    date1   Injury_11   Injury_21   Injury_31    date2   Injury_12   Injury_22   Injury_32    date3   Injury_13   Injury_23   Injury_33 |
     |----------------------------------------------------------------------------------------------------------------------------------------------------|
  1. |  1        0   12-Mar           1           2           3   23-Jun           1           2           .   30-Aug           8           9          10 |
  2. |  2        1    2-Apr           4           .           .                    .           .           .                    .           .           . |
  3. |  3        1    1-Feb           5           6           .                    .           .           .                    .           .           . |
     +----------------------------------------------------------------------------------------------------------------------------------------------------+

提供的命令不是有效的Stata语法。