我需要一个像这样的csv文件
,A,B,C
B,0,0.25,1.3
D,,,
C,,0.75,1
其中A、B、C和D都是节点,值是它们连接的强度。如您所见,我的输入csv不是邻接矩阵,每个轴上的节点也不一定相同。
其思想是将csv转换为基于阈值的加权边缘列表。例如,阈值为0.3时,上述csv将返回:
C B 1.3
B C 0.75
C C 1
我是python的新手,我不知道该怎么做。我已经能够从邻接矩阵生成图,但是,我正在分析的数据不再是干净的,我的代码不再能够处理它。
我正在尝试实现Warshall的算法,以求邻接矩阵的传递闭包。这就是我对这个功能的看法:
public static int[][] warshall(int A[][]){
int R[][] = A;
for (int k = 1; k < n; k++) {
for (int i = 1; i < n; i++) {
for (int j = 1; j < n; j++) {
if ((R[i][j] == 1) || ((R[i][k] == 1) && (R[k]
对于Matlab来说,我是个新手,我通常使用STATA。
我想使用nchoosek函数来得到一个矩阵中的向量的和。
我有一个21x21的邻接矩阵,输入为0或1。我想创建一个新的矩阵,它将给出邻接矩阵中所有可能的三元组之间的输入总和。
新的矩阵应该有四个变量,索引(i,j,k) -对应于来自21x21的每个组合。最后一个变量是输入的总和。
到目前为止,我拥有的代码是:
C = nchoosek(21,3)
B = zeros(nchoosek(21,3), 4)
for i=1:C
for j=i+1:C
for k=j+1:C
B(?)=B(i,
我正在使用igraph库在R中创建一个网络图。输入数据是邻接矩阵。但是,没有连接顶点的边箭头。
我的加权邻接矩阵看起来像这样:
A B C
A 0 3 5
B 2 0 6
C 0 7 0
这是我在R中的代码:
net <- graph.adjacency(adj_matrix, mode = 'undirected', weighted = TRUE,
diag = FALSE)
plot(net)
我对此还很陌生。我认为顶点将根据我的矩阵绘制,边箭头将映射关系(即,应该有一个箭头连接A和B,因为第(A,B)个索引不是零)。
给定一个图G,我们得到图G中一对结点(p,q)的分数。
我想计算这个函数的值,其中L(p)表示节点p的无向链路邻居的集合。(C是常量)
我知道如何从邻接矩阵分别计算出输出和输入链路邻居,这是-
in_nbs = []
for i in range(self.num_nodes):
# print type(np.nonzero(a[:, i]))
in_nbs.append(np.nonzero(a[:, i])[0])
#column i. This works for undirected and directed g
L有5个邻接矩阵(nump数组):A,B,C,D,E,每个维数20,20。
给定A,B,C,D,E,l要构造F,它叠加了5个邻接矩阵。由于我们有5个20,20的二维数组,那么F的维数为20*5,20*5如下所示:
F=np.zeros(100,100)
F=[
[A,0,0,0,...,0],
[0,...,B,...,0],
[0,...,..,C,0],
[0,.........D,..,0],
[0,...........,E],
]
使:
A is indexed at F[0][:20]
B i
我需要创建一个子图从邻接矩阵选择的从属关系数据。如何匹配邻接矩阵和从属矩阵?
取以下邻接矩阵:
A B C D E F G
A 0 1 0 1 0 1 0
B 1 0 1 1 0 1 0
C 0 1 0 0 0 0 0
D 1 1 0 0 1 1 0
E 0 0 0 1 0 1 0
F 1 1 0 1 1 0 1
G 0 0 0 0 0 1 0
以及以下隶属关系矩阵:
我需要使用tcrossprod从数据中创建一个邻接矩阵,但是产生的矩阵需要遵守下面我将解释的限制。请考虑以下数据:
z <- data.frame(Person = c("a","b","c","d"), Man_United = c(1,0,1,0))
z
Person Man_United
1 a 1
2 b 0
3 c 1
4 d 0
利用z用tcrossprod生成邻接矩阵。
x <- tcrossprod(table(z))
使用Python,如何以节省内存的方式将加权边列表转换为对称邻接矩阵?
例如,考虑以下包含4个节点和3个边的加权边列表:
A B 1
A C 2
C D 3
则输出邻接矩阵如下:
0 1 2 0
1 0 0 0
2 0 0 3
0 0 3 0
我希望以一种节省内存的方式来做到这一点-- 100000 x 100000邻接矩阵(10**10值)。请注意,矩阵是对称的,并且所有对角线的值都是0。
我想创建一个和弦图表来展示不同项目之间的关系,基于它们的关键字。所以我的数据看起来像这样( A,B,C代表关键字):
A B C
Project 1 1 0 1
Project 2 0 1 1
Project 3 1 0 1
为了创建chord图,我需要将数据转换为邻接矩阵或边列表。
我试着在原始数据集上使用igraph,但它需要一个邻接矩阵,而我不知道如何转换数据。
邻接矩阵如下所示:
A B C
A - 0 1
B 0 - 1
C 2 1 -
我有一个nxn数据集,比如说5X5数据集。
ALPHA BETA GAMMA DELTA EPSILON
A B A X 1
B C 3 X 3
C D E Z 4
D A D X 5
E A 2 Z 2
我使用列“ALPHA”来创建一个空的邻接矩阵(Aij),
A B C D E
A 0 0 0 0
我有下一个包含两列的DF。 A x
A y
A z
B x
B w
C x
C w
C i 我想产生一个这样的邻接矩阵(计算交集) A B C
A 0 1 2
B 1 0 2
C 2 2 0 我有下一段代码,但不能工作: import pandas as pd
df = pd.read_csv('lista.csv')
drugs = pd.read_csv('drugs.csv')
drugs = drugs['Drug'].tolist()
df = pd
我转换了下面的边框:
Source Target Weight
A B 12
A C 14
A D 56
B C 17
B F 14
B G 10
到下面的邻接矩阵:
{'A': {'B': {'weight': 12},
'C': {'weight': 14},
'D': {'weight': 56},
...
'B': {'C&
我在R中用CSV文件创建了一个邻接矩阵,如下所示:
Gene1 Gene2 Weight
A B 1
A C 0.5
B D -0.5
A D -1
这是我的R代码:
el=read.csv("~/my.csv", sep="\t")
library(igraph)
g = graph.data.frame(el)
adj = as_adj(g, attr='Weight')
上面的方法运行得很好,这是邻接矩阵。
> adj
4 x 4
对于行名和列名,我想使我的矩阵对称,例如,我有一个矩阵。
> ma
a b c d
a 1 5 9 13
c 9 10 11 15
b 5 6 10 14
d 13 14 15 16
我想让它像
> ma
a b c d
a 1 5 9 13
b 5 6 10 14
c 9 10 11 15
d 13 14 15 16
这意味着矩阵在row.names上是对称的,列名是相等的,所以矩阵也是对称的(实际上我在处理邻接矩阵,所以邻接矩阵是对称的。)
我有数据数据1,它有一个逗号分隔的文本列c.2,看起来像
c.1 c.2
A IN, CA, IL, NY
B NJ, IN,AR
C DC, NY
D TX, AR, IN
我使用c.1创建一个空的邻接矩阵Aij
A B C D
A 0 0 0 0
B 0 0 0 0
C 0 0 0 0
D 0 0 0 0
如果逗号分隔的文本相同,我想在逗号分隔的列中搜索类似的文本,c.2用1重新分配我的邻接矩阵Aij。例如,在数据1中,c.1列的A、B和D中有“
对于这个程序,我得到了一组需要存储在邻接矩阵中的输入。我已经这样做了,所以我有一个邻接矩阵Matrix11。现在,使用这个矩阵,我需要执行深度优先搜索并返回pi值。
我有这方面的伪代码,所以我认为我需要两个方法: DFS(graph)和DFS- and (Node)。然而,我在实际实现时遇到了问题。我可以直接使用邻接矩阵来做这件事吗?或者我需要以某种方式使用该矩阵来创建一个图?任何帮助实际编码的人都将不胜感激。
DFS(G)
for each u ∈ V[G] do
color[u] = WHITE
∏[u] = NIL
time = 0
我正在创建一个邻接矩阵,在R中进行空间分析。这些数据都是美国大陆的县。我从美国人口普查老虎档案中得到了县的空间多边形。
我能够创建邻居列表,它是对称的。但是当我把它转换成一个邻接矩阵时,它是不对称的。这是一个问题,因为我的目标是使用ngspatial::autologistic运行一个空间自动模型,并且我得到一个错误,我必须提供一个对称的二进制邻接矩阵。
下面是我创建邻接矩阵的R代码:
us<-readShapeSpatial("County_2010Census_DP1.shp")
#Trim out counties outside of continental US
我在Python中找不到2-opt算法的任何完整实现,所以我尝试将缺失的部分添加到找到的代码中,我将在下面介绍。
def two_opt(route):
best = route
improved = True
while improved:
improved = False
for i in range(1, len(route)-2):
for j in range(i+1, len(route)):
if j-i == 1: continue # c
给定一个简单图的邻接矩阵,我如何编写一个枚举孤立顶点的函数?(如果有)
孤立顶点是阶数为0的顶点。
邻接矩阵如下所示
a, b, c, d, e = range(6)
# a b c d e f
N = [[0,1,0,0,0,1], # a
[1,0,1,0,0,0], # b
[0,1,0,1,0,0], # c
[0,0,1,0,0,1], # d
[0,0,0,0,0,0], # e
[1,0,0,1,0,0], # f
我正在尝试使用R中的'networkD3‘库为我的数据创建chord图。我遵循了这篇stackoverflow文章中提出的逻辑:
我对使用'igraph‘和'networkd3’创建chord图特别感兴趣,因为我在我的计算机上没有安装其他库(如"circlize")的管理权限。
我在R中创建了一些假数据:
library(igraph)
library(dplyr)
library(networkD3)
#create file from which to sample from
x5 <- sample(1:100, 1100, replace