楼主: anchu
2611 4

[问答] R语言怎么快速比对邻接矩阵中两列同时为1的个数 [推广有奖]

  • 1关注
  • 1粉丝

硕士生

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2164 点
帖子
106
精华
0
在线时间
162 小时
注册时间
2015-9-13
最后登录
2020-7-25

楼主
anchu 在职认证  发表于 2018-12-6 06:52:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
给定一个邻接矩阵如下,怎么快速比对每一列与除了自身以外的其他列进行比较,记录同时为1的个数,我写的代码用for循环,一到大数据就跑不动了,我知道大牛肯定有办法,请您指教,多谢了!

我的笨拙代码:interaction 是邻接矩阵

Number <- list()
for(i in 1:ncol(interaction)){
   temp <- c()
   for(j in 1:ncol(interaction)){
     if(i != j)
       temp <- temp + length(intersect(which(interaction[,i]==1), which(interaction[,j]==1)))
  }
  Number <- c(Number, list(temp))
}

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:邻接矩阵 大数据

沙发
admin_kefu 发表于 2018-12-7 15:54:22
您好,如果您的求助没有解决,请到项目交易发布需求,会有更快更专业的用户帮助您 https://bbs.pinggu.org/prj/

项目交易是为用户提供需求的平台,可以在平台发布你需求,也可以展现你的技术帮助他人,从而得到相应的报酬。

藤椅
jiangbeilu 学生认证  发表于 2018-12-7 17:47:58
用colSums进行计算即可
  1. set.seed(2018)
  2. test = matrix(sample(c(0,1),100,replace=T),10)
  3. colSums(test==1)-1
复制代码


你在论坛混的时间蛮久了,但是R的水平仍然停留在写循环的层次上,建议你去系统学习一下,每次过来都是提问一些简单的问题,对自己也没有提高。
除了colSums还有rowSums等等,很多基本的函数自己看一下,就知道了。
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

板凳
cheetahfly 在职认证  发表于 2018-12-7 21:58:40
扎心了,老铁

报纸
anchu 在职认证  发表于 2018-12-16 05:24:11
jiangbeilu 发表于 2018-12-7 17:47
用colSums进行计算即可
老师,您批评的对。我需要下功夫在这代码编程上了。其实您说的这两个函数colSums,rowSums,我也都用过。可是就是不懂得灵活运用。还是练习的太少。多谢您的指导和批评,我会努力的!
已有 1 人评分论坛币 收起 理由
jiangbeilu + 10 观点有启发

总评分: 论坛币 + 10   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 15:16