所以我有一个名为 subtable 的数据框,它有三列,两列都包含 ID(用于工作人员和电影),大约。306.000 行。
现在我想获得所有独特的配对组合及其频率,我使用了以下解决方案:
m <- crossprod(table(subtable[-3]))
m[upper.tri(m, diag = TRUE)] <-0
subset(as.data.frame.table(m), Freq > 0)
从这里得到这个解决方案: 如何从计算 R 中出现的单列创建对?
现在这在较小的数据集上运行良好,并且正是我正在寻找的那种解决方案,但是,当我尝试在我的大型数据集上运行它时,我收到以下错误:
Error in table(subtable) : attempt to make a table with >= 2^31 elements
现在,当我table(subtable[-3])
自己运行时会发生这种情况。
如果我从我的子表创建一个表,它应该有与唯一电影 ID 一样多的行,在我的情况下应该是 31,493,并且有尽可能多的列,因为有唯一的工作人员 ID,应该是 141,905 列。
是否有替代方法可以避免创建如此庞大的表格同时仍获得相同的结果?
我是 R 新手,如果有任何帮助和提示,我将不胜感激。