将数据转换为网络的矩阵

sg3maiej  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(379)

此问题已在此处找到答案

创建共现矩阵(5个答案)
昨天关门了。
我有一个包含30000行的大型数据集,如下所示:

patno    Inentorname 

1001       A
1001       B
1002       A
1002       B
1003       C
1004       D
1004       E

我想要的是:

A  B  C  D  E 
A  0  2  0  0  0
B  2  0  0  0  0
C  0  0  0  0  0
D  0  0  0  0  1
E  0  0  0  1  0

在r或python中有没有简单的方法来实现这一点?

hc2pp10m

hc2pp10m1#

假设df在末尾的注解中重复显示

tab <- crossprod(table(DF))
diag(tab) <- 0
tab

给:

Inentorname
Inentorname A B C D E
          A 0 2 0 0 0
          B 2 0 0 0 0
          C 0 0 0 0 0
          D 0 0 0 0 1
          E 0 0 0 1 0

Lines <- "
patno    Inentorname 
1001       A
1001       B
1002       A
1002       B
1003       C
1004       D
1004       E"
DF <- read.table(text = Lines, header = TRUE)

相关问题