楼主: fmargaret
1036 7

[编程问题求助] network coding 多列转少列问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

64%

还不是VIP/贵宾

-

威望
0
论坛币
28 个
通用积分
25.1226
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
298 点
帖子
2
精华
0
在线时间
14 小时
注册时间
2015-10-15
最后登录
2017-4-10

楼主
fmargaret 发表于 2015-10-15 22:26:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

求助各位大神!现在在code一个社会网络的数据,

当前data structure:
project id ,     specialist id1,    specialist id2,   specialist id3      
     A                     1234               2345               3456
     B                     4567                   .                    .
     C                     5678               6789                 .

目标:
project id,       specialist1,       specialist2
    A                    1234                2345
    A                    1234                3456
    A                    2345                3456
    B                    4567                  .
    C                    5678                6789

这里只是举例把data structure说明清楚,实际的数据样本非常大,人工手动Replace是不可能的……
请问用什么命令可以解决??谢谢!



二维码

扫码加我 拉你入群

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

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

关键词:network Coding DING Work COD network

沙发
天斯吾下 学生认证  发表于 2015-10-16 13:12:43
help reshape

藤椅
夏目贵志 发表于 2015-10-16 23:15:27
天斯吾下 发表于 2015-10-16 13:12
help reshape
这个要怎么用reshape解决?reshape成long形式之后还是会存在需要两两配对的问题啊?能具体说一下吗?

板凳
天斯吾下 学生认证  发表于 2015-10-16 23:56:52
夏目贵志 发表于 2015-10-16 23:15
这个要怎么用reshape解决?reshape成long形式之后还是会存在需要两两配对的问题啊?能具体说一下吗?
不好意思,我具体没看清。但是我还是有一个疑问。为什么目标数据的第三行第二列所对应的数据是2345,源数据的第二行第二列却是1234?
以下是好像我没有理解对的代码
  1. reshape long specialistid, i(projectid) j(id) string
复制代码

example.zip
下载链接: https://bbs.pinggu.org/a-1895696.html

485 Bytes

本附件包括:

  • example.dta

已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

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

报纸
天斯吾下 学生认证  发表于 2015-10-16 23:58:17
楼主能不能给出数据的一部分dta文件,可以修改具体数字如果不方便透露。

地板
夏目贵志 发表于 2015-10-17 07:09:25
天斯吾下 发表于 2015-10-16 23:56
不好意思,我具体没看清。但是我还是有一个疑问。为什么目标数据的第三行第二列所对应的数据是2345,源数 ...
楼主的例子里是reshape成long之后需要按project两两配对。例如project A, 原来的id1和id2配对(新数据第一行),然后id1和id3配对(新数据第二行),最后id2和id3配对(新数据第三行)。
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

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

7
天斯吾下 学生认证  发表于 2015-10-17 11:54:13
夏目贵志 发表于 2015-10-17 07:09
楼主的例子里是reshape成long之后需要按project两两配对。例如project A, 原来的id1和id2配对(新数据第一 ...
用stata暂时没有想到如何配对,不过可以先用reshape转换成long数据,再导出到excel,然后用VBA做会比较简单。VBA可以轻松地操纵每个单元格

8
fmargaret 发表于 2015-10-17 12:01:01
谢谢大家的帮忙!我已经找到解决方法了,和大家分享一下

确实是要先reshape成long format, 然后用joinby合并同一个数据文件, 这样就可以出现specialist1, specialist2

接下来
bysort projectid: replace specialist1 = . if _N == 1
keep if specialist1<specialist2

至此即可解决配对问题
已有 2 人评分经验 论坛币 学术水平 收起 理由
admin_kefu + 20 热心帮助其他会员
夏目贵志 + 5 + 1 joinby是个好命令

总评分: 经验 + 5  论坛币 + 20  学术水平 + 1   查看全部评分

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

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