Обнаружение отношений зависимости между образцами набора данных - PullRequest
0 голосов
/ 04 декабря 2018

в среде R;Допустим, у меня есть набор данных, аналогичный приведенному ниже:

ID  Activity
1   a
1   b
2   a
3   c
2   a
1   c
4   a
4   b
3   b
4   c

Как видите, у каждого идентификатора есть последовательность действий.Важно учитывать, сколько раз за деятельностью следуют другие.Результаты, которые я ищу: 1. Обнаружение существующих вариантов в наборе данных (существующая последовательность для каждого идентификатора): например: `

   <a,b, c> : id: 1 & 4
   <a,a>    : id: 2
   <c,b>    : id:3

Следующая матрица, показывающая, сколько раз за другим следует активность: например:

: a b c a 1 2 0 b 0 0 1 c 0 1 0

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 04 декабря 2018

Вот решение с данными.таблицыответ:

consecutive_id <- dt[,.(first=(Activity),second=(shift(Activity,type = "lead"))),ID][!is.na(second)]
consecutive <- consecutive_id[,.N,.(first,second)]

, но если вам это нужно в матричной форме, необходимо выполнить несколько дополнительных шагов:

classes <- dt[,unique(Activity)];n <- length(classes)
M_consecutive <- data.table(matrix(0,nrow = n,ncol=n))
setnames(M_consecutive,classes)
M_consecutive$classes <- classes; setkey(M_consecutive,classes)
for(i in 1:nrow(consecutive)) M_consecutive[consecutive[i]$first,(consecutive[i]$second):=consecutive[i]$N]
M_consecutive
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...