【问题标题】:convert data to matrix for a network [duplicate]将数据转换为网络的矩阵[重复]
【发布时间】:2021-07-09 03:41:50
【问题描述】:

我有一个包含 30k 行的大型数据集,如下所示:

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 中得到这个?

【问题讨论】:

标签: python r matrix networking


【解决方案1】:

假设 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-31
    • 2015-06-10
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2014-01-13
    • 2019-02-16
    • 1970-01-01
    相关资源
    最近更新 更多