gpt4 book ai didi

R根据data.frame中的列创建邻接矩阵

转载 作者:行者123 更新时间:2023-12-04 11:42:32 25 4
gpt4 key购买 nike

我有一个 data.frame对于 10 个视频,每列是一个标签,指示视频的类别。例如,数据将如下所示:

data <- data.frame(id=paste0("r", 1:10), A=sample(0:1,10,TRUE), B=sample(0:1,10,TRUE), C=sample(0:1,10,TRUE))
data
id A B C
1 r1 1 0 1
2 r2 0 0 0
3 r3 0 1 0
4 r4 1 1 0
5 r5 0 0 0
6 r6 1 0 1
7 r7 1 0 1
8 r8 0 1 1
9 r9 0 0 1
10 r10 1 0 0

现在我想根据标签形成一个邻接矩阵,其值应该是具有相同标签的视频的数量。例如,单元格 A-C应该是 3,因为 r1 , r6r7有相同的标签。最后,我想要一个如下所示的输出矩阵:
     A    B    C
A 5 1 3
B 1 3 1
C 3 1 5

我如何汇总数据?

最佳答案

矩阵乘法应该在这里工作

set.seed(1)
dat <- data.frame(id=paste0("r", 1:10), A=sample(0:1,10,TRUE), B=sample(0:1,10,TRUE), C=sample(0:1,10,TRUE))

mat <- as.matrix(dat[-1])

t(mat) %*% mat

编辑

或者单线(感谢@AnandaMahto)
crossprod(as.matrix(dat[-1]))

关于R根据data.frame中的列创建邻接矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27115982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com