楼主: 修波
2618 12

[数据管理求助] 请问用什么命令可以计算两两对应的值 [推广有奖]

已卖:2725份资源

学科带头人

5%

还不是VIP/贵宾

-

威望
0
论坛币
48131 个
通用积分
85.9641
学术水平
10 点
热心指数
11 点
信用等级
8 点
经验
18587 点
帖子
551
精华
0
在线时间
2572 小时
注册时间
2013-11-12
最后登录
2025-11-24

楼主
修波 学生认证  发表于 2019-3-23 23:36:20 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想请问一个问题,我想计算不同id对应的indu值中较小的值,最后得出一个矩阵,这应该使用什么命令啊?比如,id分别取1、2时取值为0.125;id分别取3、4时取值为0.375。
  1. clear
  2. input float(id indu)
  3. 1 .9375
  4. 2  .125
  5. 3     1
  6. 4  .375
  7. 5  .625
  8. end
复制代码




二维码

扫码加我 拉你入群

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

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

关键词:generated generate install example Stall

修波的万花筒

沙发
黃河泉 在职认证  发表于 2019-3-24 07:48:43
请举例说明最后之希望资料型态长成如何?

藤椅
修波 学生认证  发表于 2019-3-24 14:46:20
黃河泉 发表于 2019-3-24 07:48
请举例说明最后之希望资料型态长成如何?
最后得到一个矩阵,表示id(i)与id(j)所对应的较小的值indu
  1. clear
  2. input str4 id float(id1 id2 id3 id4 id5)
  3. "id1" .9375 .125 .9375 .375 .625
  4. "id2"  .125 .125  .125 .125 .125
  5. "id3" .9375 .125     1 .375 .625
  6. "id4"  .375 .125  .375 .375 .375
  7. "id5"  .625 .125  .625 .375 .625
  8. end
复制代码

板凳
蓝色 发表于 2019-3-24 16:15:43
看不明白说的

报纸
修波 学生认证  发表于 2019-3-24 16:39:27
蓝色 发表于 2019-3-24 16:15
看不明白说的
我想表达的意思就是,有一组不同地区的就业变量,当地区为1时,比较地区1和所有地区就业量的大小,选择一个小的就业量,这样就得到地区1与所有地区就业量的大小比值的向量;再继续用地区2与所有地区就业量进行比较,得到第二个向量。以此类推,最后得到一个所有地区两两就业量大小的矩阵

地板
黃河泉 在职认证  发表于 2019-3-24 18:18:23
修波 发表于 2019-3-24 16:39
我想表达的意思就是,有一组不同地区的就业变量,当地区为1时,比较地区1和所有地区就业量的大小,选择一 ...
我大致了解,我帮你问问!

7
黃河泉 在职认证  发表于 2019-3-24 18:40:50
修波 发表于 2019-3-24 16:39
我想表达的意思就是,有一组不同地区的就业变量,当地区为1时,比较地区1和所有地区就业量的大小,选择一 ...
感谢 Andrew Musau 之帮忙,请试试
  1. // Andrew Musau
  2. forval i=1/5 {
  3.   gen id`i'= cond(indu[`i']<=indu[_n], indu[`i'], indu[_n])
  4. }
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 精彩帖子

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

8
修波 学生认证  发表于 2019-3-24 21:40:02
黃河泉 发表于 2019-3-24 18:40
感谢 Andrew Musau 之帮忙,请试试
谢谢老师,同时也感谢 Andrew Musau
我想再问一个问题,如果我继续对数据增加一个分组city,而且分组变量不全相等。例如301城市缺少1331变量,这样应该怎么求呢?
  1. input float city int ind float indu
  2. 101 1310 1
  3. 101 1320 2
  4. 101 1331 3
  5. 201 1310 4
  6. 201 1320 3
  7. 201 1331 2
  8. 301 1310 7
  9. 301 1320 6
复制代码



9
黃河泉 在职认证  发表于 2019-3-25 07:19:08
修波 发表于 2019-3-24 21:40
谢谢老师,同时也感谢 Andrew Musau
我想再问一个问题,如果我继续对数据增加两个分组year和city,而且分 ...
要的结果长什么样子?

10
修波 学生认证  发表于 2019-3-25 10:26:36
我使用的命令如下:
  1. forval i=1/3 {
  2. sort  city ind
  3. order city ind
  4. bys city :  gen id`i'= cond(indu[`i']<=indu[_n], indu[`i'], indu[_n])
  5. }
复制代码
得到的结果如下:
5.jpg
红色的部分是多出来的数值,因为301地区只有1310和1320两个变量,他们之间的相互关系应该是个2*2的矩阵,不应该是2*3的矩阵。所以,对于有多个分组,且分组内数量不相同,应该怎么求数据两两之间的大小呢?我想到的方法就是先将city数据分解,再单独对ind做两两比较,再利用append将对ind计算的结果进行合并,不知道还有没有其他简单的方法结果如下:
  1. input float city int ind float(indu ind1)
  2. 101 1310 1310 1
  3. 101 1310 1320 1
  4. 101 1310 1331 3
  5. 101 1320 1310 2
  6. 101 1320 1320 2
  7. 101 1320 1331 3
  8. 101 1331 1310 1
  9. 101 1331 1320 2
  10. 101 1331 1331 3
  11. 201 1310 1310 4
  12. 201 1310 1320 3
  13. 201 1310 1331 2
  14. 201 1320 1310 3
  15. 201 1320 1320 3
  16. 201 1320 1331 2
  17. 201 1331 1310 2
  18. 201 1331 1320 2
  19. 301 1310 1310 7
  20. 301 1310 1320 6
  21. 301 1320 1310 6
  22. 301 1320 1320 6
复制代码

还有个问题,就是我想问一下老师,因变量有三个下标,这种怎么做空间面板回归啊?
8.jpg

5.jpg (18.96 KB)

5.jpg

5.jpg (18.96 KB)

5.jpg

5.jpg (18.96 KB)

5.jpg

修波的万花筒

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

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