楼主: yinyinaiya
2266 5

[编程问题求助] 求助怎么用stata生成矩阵样式(类似社交网络)的数据呢? [推广有奖]

  • 0关注
  • 1粉丝

已卖:990份资源

本科生

29%

还不是VIP/贵宾

-

威望
0
论坛币
1449 个
通用积分
1.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
338 点
帖子
11
精华
0
在线时间
153 小时
注册时间
2012-3-22
最后登录
2021-5-27

楼主
yinyinaiya 发表于 2015-7-15 16:34:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问大家,我的原始数据格式是这样的:
groupid

firmname

price

1

A

100

1

B

100

1

C

100

1

D

110

2

A

120

2

B

120

2

C

130

2

D

130

2

E

120

3

A

100

3

B

100

3

C

100

3

D

110

3

E

110

  在我的每一个group里有不同的firm出价,出价记为price,现在我想生成一个新的数据格式,记录firm之间的link,规则是:如果两个firm在一个group里出价相同,那么这两个firm的link加1,最后我想生成例如下方矩阵的数据格式:
 

A

B

C

D

E

A

3

3

2

0

1

B

3

3

2

0

1

C

D

E

  谢谢各位高手不吝赐教,真的是不会做了,谢谢谢谢!

二维码

扫码加我 拉你入群

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

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

关键词:Stata 社交网络 tata Group Price 网络

回帖推荐

andruw 发表于2楼  查看完整内容

沙发
andruw 在职认证  发表于 2015-7-15 18:02:48
  1. clear

  2. . input groupid str10 firmname price

  3.        groupid    firmname      price
  4.   1. 1 A 100
  5.   2. 1 B 100
  6.   3. 1 C 100
  7.   4. 1 D 110
  8.   5. 2 A 120
  9.   6. 2 B 120
  10.   7. 2 C 130
  11.   8. 2 D 130
  12.   9. 2 E 120
  13. 10. 3 A 100
  14. 11. 3 B 100
  15. 12. 3 C 100
  16. 13. 3 D 110
  17. 14. 3 E 110
  18. 15. end

  19. . list

  20.      +----------------------------+
  21.      | groupid   firmname   price |
  22.      |----------------------------|
  23.   1. |       1          A     100 |
  24.   2. |       1          B     100 |
  25.   3. |       1          C     100 |
  26.   4. |       1          D     110 |
  27.   5. |       2          A     120 |
  28.      |----------------------------|
  29.   6. |       2          B     120 |
  30.   7. |       2          C     130 |
  31.   8. |       2          D     130 |
  32.   9. |       2          E     120 |
  33. 10. |       3          A     100 |
  34.      |----------------------------|
  35. 11. |       3          B     100 |
  36. 12. |       3          C     100 |
  37. 13. |       3          D     110 |
  38. 14. |       3          E     110 |
  39.      +----------------------------+

  40. .
  41. . cd "E:/"
  42. E:\

  43. . save test.dta, replace
  44. file test.dta saved

  45. . rename firmname firm

  46. . rename price price1

  47. . joinby groupid using test

  48. .
  49. . gen c = cond(price == price1, 1, 0)

  50. . sort groupid firm firmname

  51. . collapse (sum) c, by(firm firmname)

  52. . reshape wide c, i(firm) j(firmname) string
  53. (note: j = A B C D E)

  54. Data                               long   ->   wide
  55. -----------------------------------------------------------------------------
  56. Number of obs.                       25   ->       5
  57. Number of variables                   3   ->       6
  58. j variable (5 values)          firmname   ->   (dropped)
  59. xij variables:
  60.                                       c   ->   cA cB ... cE
  61. -----------------------------------------------------------------------------

  62. . rename c* *

  63. . list

  64.      +--------------------------+
  65.      | firm   A   B   C   D   E |
  66.      |--------------------------|
  67.   1. |    A   3   3   2   0   1 |
  68.   2. |    B   3   3   2   0   1 |
  69.   3. |    C   2   2   3   1   0 |
  70.   4. |    D   0   0   1   3   1 |
  71.   5. |    E   1   1   0   1   2 |
  72.      +--------------------------+

  73. .
  74. end of do-file
复制代码
已有 1 人评分论坛币 收起 理由
hustchen2012 + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

藤椅
andruw 在职认证  发表于 2015-7-15 18:04:00
纯code
  1. clear
  2. input groupid str10 firmname price
  3. 1 A 100
  4. 1 B 100
  5. 1 C 100
  6. 1 D 110
  7. 2 A 120
  8. 2 B 120
  9. 2 C 130
  10. 2 D 130
  11. 2 E 120
  12. 3 A 100
  13. 3 B 100
  14. 3 C 100
  15. 3 D 110
  16. 3 E 110
  17. end
  18. list

  19. cd "E:/"
  20. save test.dta, replace
  21. rename firmname firm
  22. rename price price1
  23. joinby groupid using test

  24. gen c = cond(price == price1, 1, 0)
  25. sort groupid firm firmname
  26. collapse (sum) c, by(firm firmname)
  27. reshape wide c, i(firm) j(firmname) string
  28. rename c* *
  29. list
复制代码

板凳
yinyinaiya 发表于 2015-7-16 15:38:02
andruw 发表于 2015-7-15 18:02
谢谢大神~ 运行了两遍明白了,真的太谢谢了!好厉害!

报纸
andruw 在职认证  发表于 2015-7-16 15:56:11
yinyinaiya 发表于 2015-7-16 15:38
谢谢大神~ 运行了两遍明白了,真的太谢谢了!好厉害!
客气了。互相学习。

匿名网友
地板
匿名网友  发表于 2018-1-11 16:31:02
厉害。。。。。。

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-24 03:18