Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >加速R中的嵌套循环以创建邻接矩阵

加速R中的嵌套循环以创建邻接矩阵
EN

Stack Overflow用户
提问于 2014-11-04 23:15:32
回答 1查看 501关注 0票数 0

我需要一些帮助来并行化或加速以下嵌套循环:

  1. 有一个顶点列表(由一个id号标识),并且每个id都有一个与其相关联的数字字符串(字符串的长度有限,通常为60-200)。

id是一个大约的列表。10,000个不同ids

seq是(不同长度)序列的列表,每个序列都与唯一的id相关联。

  1. 在这些顶点上,如果顶点i和顶点j的序列有公共元素,则建立它们的邻接矩阵。下面是我正在努力改进的代码: id_矩阵<-矩阵(nrow=length(Id),ncol=length(id))用于(i in 1:(length(id)){ for (j in 1:(length(Id){ edgelisti,j=length(intersect(seqi,seqj) }

(对于不重叠的id序列,这将产生0,并且在有重叠的情况下产生一个有限的数目,这可以作为边的权重,并进行归一化)。

我尝试过foreachdopar等选项,但我没有成功。使用length(id)=100运行需要超过2分钟!一个完整的运行将需要至少一个月!我正在使用R Studio 0.98.507版本的Windows。

任何帮助都是非常感谢的,特别是在R中并行处理这两个嵌套循环方面。

注:这是一个稀疏矩阵:大约1%的所有可能的10^8边发生。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2014-11-05 00:31:03

在我的电脑上

代码语言:javascript
运行
AI代码解释
复制
id_matrix <- matrix(0, nrow = length(id), ncol = length(id))
for (i in 1:length(id)) {
    for (j in i:length(id)) {
        id_matrix[cbind(c(i,j),c(j, i))] <- length(intersect(seq[[i]],seq[[j]]))
    }
}

length(id)为10000时,只需不到半小时。

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

https://stackoverflow.com/questions/26751604

复制
相关文章
Java中for循环嵌套以及循环的中断
很多初学者到for循环这里就学不会了,今天,我来讲解一下for循环以及嵌套循环,还有中断。
用户7886150
2020/12/03
6.3K0
for循环的嵌套
for循环: 嵌套循环:
大当家
2018/06/28
3.4K0
PHP | 条件嵌套、循环嵌套、条件循环相嵌套
demo: 假设在发3月工资的时候,不仅判定性别,还要判定男性是否有房,没有房,可以发放住房补贴,对于女性,判定是否怀孕,怀孕还有怀孕补贴:
凌川江雪
2019/03/08
4.3K0
JS循环-for循环嵌套
打印5行5列星星 效果图 代码 // 打印出5行5列的星星 for(i = 1 ; i <= 5 ; i ++ ) { // 外层控制打印行 for(j = 1 ; j <= 5 ; j ++ ) { // 内层控制每行打印几个 document.write('⭐') } document.write('<br>')
且陶陶
2023/04/12
19.2K0
JS循环-for循环嵌套
循环嵌套
三种循环虽然可以完成同样的功能,但我们在使用的时候,还是会按一定的优先级来推荐使用。
星哥玩云
2022/09/14
1.5K0
循环嵌套
R中的循环绘图
上面我们将每一张图都单独输出了,下面来介绍如何将其全部组合起来,分别介绍两种R包的方法gridExtra&patchwork
R语言数据分析指南
2022/09/21
4.1K0
R中的循环绘图
嵌套循环的优化
今天拿到这样一个需求:有Map A和Map B,这两个Map都持有着一个同样的key——id,其对应的value可能相同,也可能不相同。现在需要对两个Map中该key对应的value相同的键值对做些特殊的操作。
雨临Lewis
2022/01/11
2.4K0
python中for循环加速_如何提高python 中for循环的效率[通俗易懂]
对于某个城市的出租车数据,一天就有33210000条记录,如何将每辆车的数据单独拎出来放到一个专属的文件中呢?
全栈程序员站长
2022/09/22
3.6K0
【Python】循环语句 ② ( while 嵌套循环 | 代码示例 - while 嵌套循环 )
while 嵌套循环 也是基于 空格缩进 , Python 中基于 空格缩进 判定代码逻辑的层次关系 ;
韩曙亮
2023/10/11
5350
【Python】循环语句 ② ( while 嵌套循环 | 代码示例 - while 嵌套循环 )
while循环嵌套while循环
《代码大全》推荐先用伪代码来写框架,从最上层思考可以将抽象能力最大化,不会先陷入任何编程语言的实现细节中,通俗地说就是在蓝图层面解决问题。
不会飞的小鸟
2021/07/30
3.6K0
【R语言】计算10亿以内for循环加速
笔者主力机是MBAM1芯片(8+256),某个下午巩固循环突然思考到个问题,小循环很快就能run出来,中循环还勉勉强强,稍微上点强度就运行的很慢。虽然是CPU占用100%,8颗核心好像是偷着懒跑的,但是丢给我那台4核心8线程黑苹果,是跑满的,说明ARM在多线程的时候,有点东西
生信初学者
2023/05/06
5440
Python 循环嵌套
for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s)
用户8442333
2021/05/27
1.8K0
Python 循环嵌套
文 | 云豆 来源 | 菜鸟教程 云豆贴心提醒,本文阅读时间3分钟,文末有秘密! Python 语言允许在一个循环体里面嵌入另一个循环。 Python for 循环嵌套语法: Python w
小小科
2018/05/04
2.2K0
Python 循环嵌套
Python 嵌套for循环
嵌套for循环 for循环中的for循环 代码 # coding:utf-8 a = [1, 2, 3] b = [4, 5, 6] for i in a: print(i) print('------') for j in b: print(i + j) print('=======') print(i, j)
Zkeq
2022/05/18
1.6K0
ONF创建开源社区 以加速SDN软件发展
编者按:开放网络基金会(ONF)近日创建开源社区,在推动SDN落地上所作出的努力已经不再只是推广SDN,推广OpenFlow,开源社区OpensourceSDN的成立,将成为ONF组织推动SDN的另一重大举措。 业界第一次提及SDN(软件定义网络)大约是2009年,距今已经有6年的时间了。然而SDN开始真正被业界所了解,还要从2011年开放网络基金会(ONF,Open Networking Foundation)的成立开始计算,随后OpenFlow开始全面盛行,ONF也成为了推动SDN发展的主要力量之一。
SDNLAB
2018/04/04
9850
ONF创建开源社区 以加速SDN软件发展
第18讲 for循环优化:嵌套的for循环
ug902(v2018.1) High-Level Synthesis User Guide page 313 - page 321
Lauren的FPGA
2019/10/31
1.6K0
Python编程 for嵌套循环
在 while 循环中,拥有 break 与 continue 语句,那 for 循环中也有 break 与 continue 语句,并且作用一致。
网络豆
2023/10/15
2330
Python编程 for嵌套循环
C++循环嵌套
循环的嵌套就是,一个循环体内又包含了另一个完整的循环结构;内嵌的循环中还可以嵌套循环,这就是多层循环。
小林C语言
2020/11/30
1.6K0
C++循环嵌套
python for循环多个参数处理_python for循环嵌套
实际上,“使用for循环遍历数组的最简单方法”(Python类型被命名为“list”BTW)是第二种方法,即for item in somelist:
全栈程序员站长
2022/09/22
2.3K0
点击加载更多

相似问题

加速R中嵌套的For循环

20

加速R中的嵌套循环

24

加速R中的嵌套循环

14

改进用于创建邻接矩阵的循环嵌套速度R

113

替换R中的for循环以加速代码

112
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档