У меня есть data.frame
для 10 видео, и каждый столбец является тегом, указывающим категорию видео. Например, данные будут выглядеть следующим образом:R создать матрицу смежности в соответствии с столбцами из data.frame
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
, r6
и r7
имеют те же метки. Наконец, я хотел бы получить следующую матрицу вывода:
A B C
A 5 1 3
B 1 3 1
C 3 1 5
Как я могу агрегировать данные?
Или, более непосредственно, 'crossprod (как. матрица (DAT [-1])) '. – A5C1D2H2I1M1N2O1R2T1