Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 多对整数向量相交_R_List_Intersection_Combn - Fatal编程技术网

R 多对整数向量相交

R 多对整数向量相交,r,list,intersection,combn,R,List,Intersection,Combn,我有一个整数向量列表: 这部分速度非常快,可以使用 然后我运行此函数以获得所需的输出: res.df尝试将l表示为1/0矩阵: max.val = max(sapply(l, max)) mat = do.call(rbind, lapply(l, function(x) {z = rep(0, max.val); z[x] = 1; z})) 现在,您可以轻松地预先计算成对交点和并集: pair_intsct = mat %*% t(mat) pair_union = outer(rowS

我有一个整数向量列表:

这部分速度非常快,可以使用

然后我运行此函数以获得所需的输出:

res.df尝试将l表示为1/0矩阵:

max.val = max(sapply(l, max))
mat = do.call(rbind, lapply(l, function(x) {z = rep(0, max.val); z[x] = 1; z}))
现在,您可以轻松地预先计算成对交点和并集:

pair_intsct = mat %*% t(mat)

pair_union = outer(rowSums(mat), rowSums(mat), '+') - pair_intsct

我的示例数据中哪一部分不小或不可复制?@dan你的示例很好。只是有人没有正确阅读:-对于您的特定问题,一个选项是combnPrim,如@akrun所示,combn部分不是瓶颈。计算并集上的交集和每对之间的超几何p值是一个问题。我编辑我的问题是为了弄清楚为什么超几何分布的m,n和k参数是lengthl[[idx.mat[I,1]],lengthl[[idx.mat[I,1]]]+lengthl[[idx.mat[I,2]]和lengthl[[idx.mat[I,2]],你能解释一下吗?
max.val = max(sapply(l, max))
mat = do.call(rbind, lapply(l, function(x) {z = rep(0, max.val); z[x] = 1; z}))
pair_intsct = mat %*% t(mat)

pair_union = outer(rowSums(mat), rowSums(mat), '+') - pair_intsct