У меня есть набор данных от двух оценщиков, оценивающих набор видеоклипов по нескольким (бинарным) критериям. Я хотел бы построить матрицу путаницы, чтобы лучше понять их согласие/несогласие. Но все примеры, которые я нашел до сих пор, относятся к случаям, когда каждый судья оценивает клип только по одному критерию. В моем случае судьи оценивают все критерии для каждого клипа.
Скажем, у меня есть 4 бинарных критерия (A_Con..A_Mod), оцененных двумя оценщиками (A и B) для набора видеоклипов (в данном случае 80):
str (mydata)
'data.frame': 160 obs. of 6 variables:
$ A_Con: int 0 0 0 0 0 0 0 0 0 0 ...
$ A_Dom: int 0 0 0 1 0 0 0 0 0 0 ...
$ A_Met: int 0 0 0 0 0 0 1 0 0 1 ...
$ A_Mod: int 0 0 0 1 0 1 0 0 0 1 ...
$ Rater: Factor w/ 2 levels "A","B": 2 2 2 2 2 2 2 2 2 2 ...
$ Clip : int 1 2 3 4 5 6 7 8 9 10 ...
Я могу расплавить это в:
> str(mymolten)
'data.frame': 640 obs. of 4 variables:
$ Rater : Factor w/ 2 levels "A","B": 2 2 2 2 2 2 2 2 2 2 ...
$ Clip : int 1 2 3 4 5 6 7 8 9 10 ...
$ variable: Factor w/ 4 levels "A_Con","A_Dom",..: 1 1 1 1 1 1 1 1 1 1 ...
$ value : int 0 0 0 0 0 0 0 0 0 0 ...
Но я не могу понять, как преобразовать его в матрицу путаницы, которая подсчитывала бы комбинации (которые далеко не так совершенны, как эта):
Rater B
A_Con A_Dom A_Met A_Mod
A_Con 19 1 0 0
Rater A A_Dom 1 20 0 0
A_Met 0 0 20 5
A_Mod 0 2 0 20
Кажется, что функция table() — это то, что нужно, но как отформатировать данные?