所以我正在为基于 IMDb 数据的社交网络分析创建一个边缘文件。我遇到了一个问题,我不知道如何解决它,因为我是 R 新手。
假设我有以下数据框:
movieID <- c('A', 'A','A', 'B','B', 'C','C', 'C')
crewID <- c('Z', 'Y', 'X', 'Z','V','V', 'X', 'Y')
rating <- c('7.3','7.3', '7.3', '2.1', '2.1', '9.0','9.0', '9.0')
df <- data.frame(movieID, crewID, rating)
电影ID | 船员编号 | 评分 |
---|---|---|
一个 | Z | 7.3 |
一个 | 是 | 7.3 |
一个 | X | 7.3 |
乙 | Z | 2.1 |
乙 | 五 | 2.1 |
C | 五 | 9.0 |
C | X | 9.0 |
C | 是 | 9.0 |
我正在尝试在电影中构建独特的 CrewID 对,其权重等于该对的出现次数,这意味着这两个工作人员一起制作电影的频率。所以基本上我想要一个像下面这样的数据框:
船员 ID1 | 船员 ID2 | 重量 | (不是col,而是解释) |
---|---|---|---|
Z | 是 | 1 | 在电影A中在一起过一次 |
Z | X | 1 | 在电影A中在一起过一次 |
是 | X | 2 | 在电影 A 和 C 中在一起两次 |
Z | 五 | 1 | 在电影B中在一起过一次 |
五 | X | 1 | 在电影C中在一起过一次 |
五 | 是 | 1 | 在电影C中在一起过一次 |
对 (Z,Y) 和 (Y,Z) 彼此相等,因为我不关心方向。
我在类似的问题上找到了以下 StackOverflow 线程: 如何根据 R 中的出现顺序从单个列创建对?
但是在我的情况下,这会跳过 (V,Y) 和 (X,Z) 的组合,并且 (X,Y) 的计数仍然是 1,我不知道如何修复它。