楼主: douban
3065 9

如何reshape只有两个变量的数据? [推广有奖]

  • 3关注
  • 1粉丝

本科生

74%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
32.6077
学术水平
10 点
热心指数
11 点
信用等级
7 点
经验
483 点
帖子
42
精华
0
在线时间
176 小时
注册时间
2009-12-10
最后登录
2024-8-13

楼主
douban 发表于 2012-6-21 11:05:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位高手好。
我现在手头有如下数据,观测值大概有2000万左右。
var1    var2
A          a
A          b
A          c
B          d
B          e
B          f
B          g
...        ...

想按照var1中相同观测值将其变为如下类型
var1     var2    var3   var4  ……
A          a          b        c
B          d         e         f         g

请问该如何解决?
我试过reshape,但是没法设置j,用var2作为g,stata会提示j太多了。
谢谢各位了~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:reshape Shape RES APE Stata 数据 左右 如何

沙发
rosenbloog 发表于 2012-6-21 12:37:50
新的var2,var3,var4是啥意思阿?

藤椅
蓝色 发表于 2012-6-21 19:52:53
clear
input  ///
str20 id    str20 x
A          a
A          b
A          c
B          d
B          e
B          f
B          g
end

bysort id: gen t=_n
reshape wide x,i(id) j(t)
list

板凳
iceboys 发表于 2012-6-29 11:56:26
三楼的做法可能需要点改进吧,先
sort var1 var2
渐入佳境

报纸
蓝色 发表于 2012-6-29 12:15:01
不需要啊


. clear

. input  ///
> str20 id    str20 x

                       id                     x
  1. A          a
  2. A          b
  3. A          c
  4. B          d
  5. B          e
  6. B          f
  7. B          g
  8. end

.
. bysort id: gen t=_n

. reshape wide x,i(id) j(t)
(note: j = 1 2 3 4)

Data                               long   ->   wide
-----------------------------------------------------------------------------
Number of obs.                        7   ->       2
Number of variables                   3   ->       5
j variable (4 values)                 t   ->   (dropped)
xij variables:
                                      x   ->   x1 x2 ... x4
-----------------------------------------------------------------------------

. list

     +------------------------+
     | id   x1   x2   x3   x4 |
     |------------------------|
  1. |  A    a    b    c      |
  2. |  B    d    e    f    g |
     +------------------------+

地板
douban 发表于 2012-11-14 16:36:32
已成功,谢谢!

7
小小蜜蜂 发表于 2012-11-14 22:35:52
iceboys 发表于 2012-6-29 11:56
三楼的做法可能需要点改进吧,先
sort var1 var2
-bysort- 已经可以啦,连同 sort 的功夫也同步完成

8
fgleric 发表于 2012-11-15 08:19:12
楼主你需要贴部分数据。A那一列,貌似并不知道是不是i

9
douban 发表于 2012-11-15 17:16:11
fgleric 发表于 2012-11-15 08:19
楼主你需要贴部分数据。A那一列,貌似并不知道是不是i
谢谢关注,已经成功了,主要在于bysort的使用啦。

10
monstersivle 发表于 2012-12-15 10:54:50
insheet using obj.csv
save obj.dta
rename v1 var
rename v2 v
bysort var: gen n=_n
reshape wide v, i(var) j(n)
:)
不爱其亲而爱他人者,谓之悖德;不敬其亲而敬他人者,谓之悖礼。——《孝经》

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 00:02