全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
5048 17
2012-11-19
是之前的问题的后续。之前问题按照大白菜2012大大的方法(见https://bbs.pinggu.org/thread-2128374-1-1.html)已经搞定,但得到的矩阵是长方阵,请问如何变为方阵?谢谢~

之前问题:
手头有系列专利引文数据,类型如下

引用专利   被引专利
A                      G
B                      F
C                      E
D                      D
E                      C
F                      B
G                      A
...                     ...


想将数据相关的专利变为矩阵进行分析,如下:
    A B C D E F G ....
A  0 0 0 0 0 0  1 ...
B  0 0 0 0 0 1 0 ...
C  0 0 0 0 1 0 0 ...
D  0 0 0 1 0 0 0 ...
E  0 0 1 0  0 0 0 ...
F  0 1 0  0 0 0 0 ...
G  1 0 0 0 0 0 0 ...
...



二维码

扫码加我 拉你入群

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

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

全部回复
2012-11-19 18:48:20
引用专利   被引专利
A                      G
B                      F
C                      E
A                      B
A                      G

这样的数据,对应怎样的方阵?
二维码

扫码加我 拉你入群

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

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

2012-11-20 14:04:00
sungmoo 发表于 2012-11-19 18:48
引用专利   被引专利
A                      G
B                      F
嗯,是。两个变量不都是相同的。我打算变成这样的方阵:行和列都含有引用专利和被引专利。
   A B C E F G
A     1         1
B             1
C           1
E
F
G
二维码

扫码加我 拉你入群

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

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

2012-11-20 14:29:29
A、G若出现多次,如何处理?
二维码

扫码加我 拉你入群

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

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

2012-11-20 15:33:15
sungmoo 发表于 2012-11-20 14:29
A、G若出现多次,如何处理?
你上个帖子的例子,A引用G出现两次,数据里不会有这样的重复值。
数据是引用专利和被引专利有部分相同,有部分不同。现在想做所有专利的矩阵,若之间没有引用关系就表示为0,有的话就是1~
二维码

扫码加我 拉你入群

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

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

2012-11-21 01:29:16
clear

input y    x
1                      7
2                      5
3                      5
1                      4
1                      3
2                      4
4                      6
5                                                1
end

sort y x

l

contract y x

preserve
reshape wide _freq , i(y) j(x)
save temp1,replace
l
restore

preserve
reshape wide _freq , i(x) j(y)
qui foreach v of var _freq* {
        replace `v' = 0
                }
rename x y
save temp2,replace
l
restore

use temp1,clear
joinby y using temp2,unmatched(both)

drop _merge

order _all,alpha
order y
qui foreach v of var _freq* {
        replace `v' = 0 if mi(`v')
}

l

erase temp1.dta
erase temp2.dta


二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群