Считать вхождения команд в матрице в R - PullRequest
0 голосов
/ 31 октября 2019

Имейте матрицу 1000 * 16 из симуляции с именами команд в качестве персонажей. Я хочу посчитать количество вхождений на группу во всех 16 столбцах.

Я знаю, что могу подать заявку (test, 2, table), но это затрудняет работу с данными впоследствии, так как все команды не включаются вкаждый столбец.

1 Ответ

0 голосов
/ 31 октября 2019

Если у вас есть вектор, содержащий все уникальные имена команд, вы можете сделать что-то вроде этого. Я подсчитываю вхождения здесь через столбец, чтобы убедиться, что не каждая команда (в данном случае письмо) не включена.

set.seed(15)

letter_mat <- matrix(
  sample(
    LETTERS,
    size = 1000*16,
    replace = TRUE
  ),
  ncol = 16,
  nrow = 1000
)

output <- t(
  apply(
    letter_mat,
    1,
    function(x) table(factor(x, levels = LETTERS))
  )
)

head(output)

     A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
[1,] 1 2 0 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 0 0 1
[2,] 0 1 0 2 2 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 2 2 1
[3,] 1 1 0 0 1 0 1 2 1 0 0 0 0 0 1 0 1 0 1 1 0 0 3 0 1 1
[4,] 0 1 0 0 0 1 0 0 0 2 0 1 0 0 1 1 1 1 2 0 2 3 0 0 0 0
[5,] 2 1 0 0 0 0 0 2 0 2 1 1 1 0 0 2 0 2 1 0 0 1 0 0 0 0
[6,] 0 0 0 0 0 1 3 1 0 0 0 0 1 1 3 0 1 0 0 1 0 0 0 1 0 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...