楼主: yanghan77777
1420 9

[数据管理求助] 根据条件语句填充矩阵 [推广有奖]

  • 10关注
  • 1粉丝

副教授

52%

还不是VIP/贵宾

-

威望
0
论坛币
2594773 个
通用积分
4.8917
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20327 点
帖子
237
精华
0
在线时间
1542 小时
注册时间
2005-8-19
最后登录
2024-4-27

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
假设矩阵为A ,A i j 为矩阵中的元素,按照条件语句:A i j = if ( A i 1=A1 j, 0 , if(A i 2 = A2 j , 1,0)) 为矩阵空白单元格赋值。


下面是截取初始矩阵的一个子矩阵
  1. * Example generated by -dataex-. To install: ssc install        dataexclearinput long(_varname1 _varname) float(v1 v2 v3 v4).        .             8             33             33         35.        .          10426947 10107598 104859 104292488 10426947        .        .      .        .33 10107598        .        .      .        .33   104859        .        .      .        .35 10429248        .        .      .        .35 10390707        .        .      .        .40     1019        .        .      .        .46 10328345        .        .      .        .78 10109668        .        .      .        .156 10109527        .        .      .        .156 10115938        .        .      .        .156 10429052        .        .      .        .401 10427652        .        .      .        .404 10404397        .        .      .        .408 10429835        .        .      .        .408 10111001        .        .      .        .408 10117580        .        .      .        .415 10112032        .        .      .        .498 10429361        .        .      .        .end
复制代码

二维码

扫码加我 拉你入群

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

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

关键词:generated generate install example Stall

沙发
yanghan77777 发表于 2021-8-18 15:59:24 |只看作者 |坛友微信交流群
  1. * Example generated by -dataex-. To install: ssc install dataex
复制代码

使用道具

藤椅
zdlspace 学生认证  发表于 2021-8-18 16:31:48 |只看作者 |坛友微信交流群
二楼更乱

使用道具

板凳
yanghan77777 发表于 2021-8-18 16:57:07 |只看作者 |坛友微信交流群
zdlspace 发表于 2021-8-18 16:31
二楼更乱
确实是,想录成规范的代码格式结果不知道怎么录

使用道具

报纸
yanghan77777 发表于 2021-8-18 17:02:19 |只看作者 |坛友微信交流群
一楼和二楼的数据没有录好,请各位看官看这一楼的数据吧。
  1. [CODE]
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input long(_varname1 _varname) float(v1 v2 v3 v4)
  5.   .        .        8       33     33       35
  6.   .        . 10426947 10107598 104859 10429248
  7.   8 10426947        .        .      .        .
  8. 33 10107598        .        .      .        .
  9. 33   104859        .        .      .        .
  10. 35 10429248        .        .      .        .
  11. 35 10390707        .        .      .        .
  12. 40     1019        .        .      .        .
  13. 46 10328345        .        .      .        .
  14. 78 10109668        .        .      .        .
  15. 156 10109527        .        .      .        .
  16. 156 10115938        .        .      .        .
  17. 156 10429052        .        .      .        .
  18. 401 10427652        .        .      .        .
  19. 404 10404397        .        .      .        .
  20. 408 10429835        .        .      .        .
  21. 408 10111001        .        .      .        .
  22. 408 10117580        .        .      .        .
  23. 415 10112032        .        .      .        .
  24. 498 10429361        .        .      .        .
  25. end
复制代码
[/code]

使用道具

地板
zdlspace 学生认证  发表于 2021-8-19 15:05:08 |只看作者 |坛友微信交流群
yanghan77777 发表于 2021-8-18 17:02
一楼和二楼的数据都乱了,请各位看官按三楼的数据吧。
数据是乱的,另外你这个 A i j = if ( A i 1=A1 i , 0 , if(A i 2 = A2 i , 1,0)) 是什么意思,你自己能看懂吗?举个例子说明一下,是不是如果A i 1=A1 i,则A i j =0,如果A i 2 = A2 i,则。。。。看不懂。。。。

使用道具

7
yanghan77777 发表于 2021-8-20 13:51:42 |只看作者 |坛友微信交流群
zdlspace 发表于 2021-8-19 15:05
数据是乱的,另外你这个 A i j = if ( A i 1=A1 i , 0 , if(A i 2 = A2 i , 1,0)) 是什么意思,你自己能看 ...
感谢参与讨论,其实就是一个很小的问题,数据整理好在五楼了。关于这个条件语句是这样的,原来的矩阵A在第1、2列,第1、2行已经事先填充了数据。现在的想做的事情就是在矩阵的其他空白区域,根据设定的条件语句填充相应的数据。举个例子,对矩阵中的元素A[3 3]填充数值0或1,需要满足的条件就是“如果A[1 3]=A[3 1],则A[3 3]=0;如果A[1 3]≠A[3 1]且A[2 3]≠A[3 2],则A[3 3]=0;如果A[1 3]≠A[3 1]且A[2 3]=A[3 2],则A[3 3]=1“。

使用道具

8
zdlspace 学生认证  发表于 2021-8-20 15:51:33 |只看作者 |坛友微信交流群
yanghan77777 发表于 2021-8-20 13:51
感谢参与讨论,其实就是一个很小的问题,数据整理好在五楼了。关于这个条件语句是这样的,原来的矩阵A在第 ...
你能不能去我的帖子中找一找,究竟怎么发数据?我有帖子写过,很简单的,你这发了好几次,最重要的数据还是没有发好,花个两分钟,先学一下怎么发数据。

使用道具

9
yanghan77777 发表于 2021-8-21 10:31:43 |只看作者 |坛友微信交流群
zdlspace 发表于 2021-8-20 15:51
你能不能去我的帖子中找一找,究竟怎么发数据?我有帖子写过,很简单的,你这发了好几次,最重要的数据还 ...
多谢指导发帖,数据已经从新整理好在五楼了,麻烦看看

使用道具

10
yanghan77777 发表于 2021-8-25 02:23:12 |只看作者 |坛友微信交流群
终于解决问题了,但是解决问题的方法比较麻烦,需要几十行命令才完成基本的数据清理,然而这只是一年的数据,需要整理的数据将近20年。全部代码就不贴出来了,有感兴趣的同好想要讨论到时候我在把代码整理出来。这里先说个思路,原来想着在一个矩阵内使用条件语句,遍历指定的单元格填充数据,但是始终没找到合适的语句,stata矩阵编程的资料太少了。然后想到,我可以构建四个矩阵,通过矩阵逻辑运算去构建一个所需要的0-1矩阵。令样本数据第一列为向量A1, 则构建矩阵A=[A1 A1 A1....],令矩阵A的转置为B,则可以通过矩阵条件语句matmh test = A~=B,生成名为test的0-1矩阵。进一步的再通过第二列的数据构造矩阵并进行相应的逻辑运算,最终确定所需要的0-1矩阵。

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-2 03:39