Я пытаюсь использовать ddply
(функция plyr
) для сортировки и определения наиболее частого типа взаимодействия между любыми уникальными парами пользователей из данных социальных сетей следующей формы
from <- c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'D', 'D', 'D', 'D')
to <- c('B', 'B', 'D', 'A', 'C', 'C', 'D', 'A', 'D', 'B', 'A', 'B', 'B', 'A', 'C')
interaction_type <- c('like', 'comment', 'share', 'like', 'like', 'like', 'comment', 'like', 'like', 'share', 'like', 'comment', 'like', 'share', 'like')
dat <- data.frame(from, to, interaction_type)
, который при правильной агрегации должен находить наиболее распространенный тип взаимодействия между любыми уникальными парами (независимо от направленности (то есть A -> B, A <- B)), как это </p>
from to type
A B like
A C like
A D share
B C like
B D comment
C D like
Несмотря на то, что с помощью
можно легко получить общее количество взаимодействий между любыми двумя пользователями.
count <- ddply(sub_test, .(from, to), nrow)
Мне было трудно применить подобный метод, чтобы найти наиболее распространенный тип взаимодействия между любыми заданными парами с этим методом агрегации. Каков будет самый эффективный способ достичь желаемого результата? Кроме того, как обращаться с возможными "связанными" случаями? (Я мог бы просто использовать "tided" в качестве значений ячеек для всех связанных случаев).