Таблица частот / сопряженности по 1 измерению в R - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь сосчитать совпадения по одному измерению.Это несколько похоже на таблицы выигрыша / проигрыша, матрицы доминирования или таблицы частот (и спектрограммы / растровые графики), но без направленности и вдоль переменной 1.

Вот пример данных:

  person response
1      a        1
2      a        2
3      a        4
4      b        1
5      b        2
6      c        2
7      c        4
8      d        4
9      d        3

Цель состоит в том, чтобы получить матрицу n x n, как показано ниже (NA также может быть периодом количества вхождений):

     [,1] [,2] [,3] [,4]
[1,]   NA    2    0    1
[2,]    -   NA    0    2
[3,]    -    -   NA    1
[4,]    -    -    -   NA
  1. Как я могупреобразовать длинные данные в матрицу в R?(без ручного подсчета).
  2. Как называется этот тип метрики?Это не типичная таблица «непредвиденных обстоятельств».
  3. После того, как таблица создана, каков наилучший способ построения результирующей матрицы с цветами, обозначающими счет / частоту?

1 Ответ

0 голосов
/ 21 февраля 2019

Проверьте это

r1 = sort(unique(df1$response))
r2 = split(df1$response, df1$person)
ans = sapply(seq_along(r1), function(i)
    rowSums(sapply(r2, function(x) (r1[i] %in% x) * (r1 %in% x))))
diag(ans) = NA
ans
#     [,1] [,2] [,3] [,4]
#[1,]   NA    2    0    1
#[2,]    2   NA    0    2
#[3,]    0    0   NA    1
#[4,]    1    2    1   NA 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...