首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法使用并行来加速plotVenn()进程?

有没有办法使用并行来加速plotVenn()进程?
EN

Stack Overflow用户
提问于 2020-01-14 11:56:54
回答 1查看 86关注 0票数 1

我正在尝试制作一个有15个集合的维恩图。我可以使用9,使用nVennR包,但我必须绘制22次才能压缩结果。

代码语言:javascript
复制
myV <- createVennObj(nSets = 9, sNames = c( "NN","AdINI","AdTAR",
                                            "NN con NBI",
                                            "NN sin NBI",
                                            "AdINI con NBI",
                                            "AdINI sin NBI",
                                            "AdTAR con NBI",
                                            "AdTAR sin NBI"))

myV <- setVennRegion(myV, c("NN con NBI", "NN"), 4343)
myV <- setVennRegion(myV, c("NN sin NBI", "NN"), 22526)
myV <- setVennRegion(myV, c("AdINI con NBI", "AdINI"), 2032)
myV <- setVennRegion(myV, c("AdINI sin NBI", "AdINI"), 9545)
myV <- setVennRegion(myV, c("AdTAR con NBI", "AdTAR"), 2641)
myV <- setVennRegion(myV, c("AdTAR sin NBI", "AdTAR"), 10125)
i=0
while (i<22) {
        myV <- plotVenn(nVennObj = myV, outFile='democentro.svg')
        i=i+1
}

花了几分钟的时间,但结果与我预期的一样:

现在我想在15组中做同样的事情。因为在前面的图表中,较小的集合被一分为二。我试过这样做,但这个过程永远不会结束,即使是第一个情节也是如此。

有没有办法充分发挥我的电脑的潜力?

by the way, I'm using Windows 10 and I have 16 [GB] of RAM

EN

回答 1

Stack Overflow用户

发布于 2020-01-16 00:19:39

nVennR模块是CPU密集型的,内存不是问题。实际问题是每条线的点数随着集合的数量非线性地增加。我对该行为进行了微调,以便可以尽可能快地渲染多达九个集合。我一直在研究一种新版本的算法,它可以丢弃不必要的点,并且可以更快地处理像你这样的情况。不幸的是,我无法将此版本移植到R (我相信Rcpp存在作用域问题)。

您可以从https://github.com/vqf/nVenn试用该版本。您将在那里找到有关如何准备文件的说明。您甚至可以从https://github.com/vqf/nVenn/tree/master/binaries/Win下载Windows的二进制文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59727334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档