我是r的新手。 我有一组关于在线视频及其标签的数据。 数据看起来像
film tag1 tag2 tag3 tag4....
1 A B C D
2 A C F G
3 B D C X
我想创建一个矩阵,告诉我标签的共同出现,例如:
A B C D .....
A 10 13
B 15 2
C 3 16
D 9 20
我该怎么做?
答案 0 :(得分:2)
如果我理解你想要的是一种方式:
dat <- read.table(text='film tag1 tag2 tag3 tag4
1 A B C D
2 A C F G
3 B D C X', header=T)
library(qdapTools)
crossprod(as.matrix(mtabulate(as.data.frame(t(dat[, -1])))))
,并提供:
A B C D F G X
A 2 1 2 1 1 1 0
B 1 2 2 2 0 0 1
C 2 2 3 2 1 1 1
D 1 2 2 2 0 0 1
F 1 0 1 0 1 1 0
G 1 0 1 0 1 1 0
X 0 1 1 1 0 0 1