r - R Matrix:有没有办法为每对列有条件地提取行名列表
问题描述
我有一个 *n 矩阵co
co <- matrix(c(0,1,2,1,0,
1,0,0,0,0,
2,0,0,1,0,
1,0,1,0,2,
0,0,0,2,0), ncol = 5, nrow = 5)
colnames(co) <- c("A", "B", "C", "D", "E")
rownames(co) <- colnames(co)
表示五个实体同时出现的次数A, B, C, D and E
。
现在,对于每一对列,我想提取两列都非零的行的行名。在实践中,我想看看两个焦点实体都连接到哪个“第三”实体。在网络术语中,它等于为每对节点找到相邻节点的名称。
我认为从这个矩阵接近它可能是更快的方法。
结果可以是一个列表,也可以是下面的三列数据框
df <- as.data.frame(cbind(c("A","A","A","B","B","C","C"),
c("C","D","E","C","D","D","E"),
c("D","C","D","A","A","A","D")))
在实践中,矩阵co
大约是 10000 x 10000 条目,因此是一个sparseMatrix
,所以我会欣赏与稀疏矩阵格式一起工作的解决方案。
解决方案
推荐阅读
- node.js - 反应,创建一个项目问题(npx create-react-app)
- flutter - 如何在 Flutter 中重置 Hive 数据库
- android - 为原生应用程序反应原生 UI?
- python - Python:查找 [X,Y] 坐标中每个 X 值的平均 Y 值
- html - HTML 视频播放器比选择一个随机文件,自动播放它,然后等待 5 分钟并再次启动脚本
- excel - 在单元格值分配中包括以 3 分钟为间隔的时间
- javascript - 使用 Vue 更改数据时添加背景颜色
- domain-driven-design - 在控制器或域模型中放置基本验证的位置
- php - 如何使用 preg-match 纠正 HTTPS out URL 错误?
- selenium - 我收到了 StaleElementReferenceException。在以下情况下我该如何解决这个问题