Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Networkx到R igraph的转换有错误_Python_R_Igraph_Networkx - Fatal编程技术网

Python Networkx到R igraph的转换有错误

Python Networkx到R igraph的转换有错误,python,r,igraph,networkx,Python,R,Igraph,Networkx,我正在尝试将以下Python代码(用于Networkx)转换为R(用于igraph) 下面是我尝试从Python到R的部分转换 # R code library("data.table") library("igraph") dogs <- make_empty_graph() dogcsv <- fread("dogs.csv") dogid <- 0 nodeStr <- c("id", "species", "Location 1", "Location

我正在尝试将以下Python代码(用于
Networkx
)转换为R(用于
igraph


下面是我尝试从Python到R的部分转换

# R code

library("data.table")
library("igraph")

dogs <- make_empty_graph()

dogcsv <- fread("dogs.csv")

dogid <- 0

nodeStr <- c("id", "species", "Location 1", "Location 2")

nodeInt <- "sumflu"

fluCols <- c("Influenza-1", "Influenza-2", "Influenza-3", "Influenza-4", 
"Influenza-5", "Influenza-6", "Influenza-7", "Influenza-8")

for(flu in fluCols) {
dogs[flu] <- dogs %>% add_vertices(8) %>% add_vertices(dogs[flu], typ = "host")
    }
在Python
Networkx
中,可以通过graphname.function(例如
DG.add_节点(dogID,typ='animal')
调用图形

R's
igraph
中是否有等效项

是否有任何方法可以调用R的
igraph
中的节点,而不必定义节点数

此外,您是否会就完成R的翻译提供提示或建议

多谢各位


以下内容包含.csv数据:

id、物种、位置1、位置2、动物id、苏姆病毒、流感1、流感2、流感3、流感4、流感5、流感6、流感7、流感8、流感9
MW 391,1,0,0,0,0,0,0,0,0,公园4号公园1号主机YUI-4322
MW 390,0,0,0,0,0,0,0,0,0,0,公园4号公园2号主机YUI-4321
MW 389,1,0,0,0,0,0,0,0,0,公园4号公园2号主机YUI-4320
MW 388,0,0,0,0,0,0,0,0,0,0公园4公园2号主机YUI-4319
MW 387,1,0,0,0,0,0,0,0,0公园4公园2号主机YUI-7318
MW 386,0,0,0,0,0,0,0,0,0,0公园4公园1号主机YUI-4317
MW 385,1,1,0,0,0,0,0,0,0,0公园4公园2号主机YUI-4316
YUI-2315,主机1,避难所2,避难所,MV319,1,0,0,0,0,0,1,0,0

YUI-4314,主机1,避难所2,避难所,MV 332,1,0,0,0,0,0,0,1,0,0
我对你所做的感到困惑,但我可以告诉你,狗是一个图形对象,你试图在一条直线上同时做多件没有意义的事情

呼叫狗[流感]会给出所有与流感相关的顶点

添加顶点(8)是将8个新顶点添加到图形中

add_顶点(dogs[flu],typ=“host”)是将相同的节点添加到图形中,如果dogs[flu]是可调用的,则该节点将已经存在

只需在之前添加所有节点(添加顶点[fluCols],尽管它可能需要整数而不是字符串),然后在之后修改这些节点。

您可能会感兴趣[。存在igraph Python版本;可能作为中间步骤,您可以将其转换为。但是如何离开networkx?;-)
# R code

library("data.table")
library("igraph")

dogs <- make_empty_graph()

dogcsv <- fread("dogs.csv")

dogid <- 0

nodeStr <- c("id", "species", "Location 1", "Location 2")

nodeInt <- "sumflu"

fluCols <- c("Influenza-1", "Influenza-2", "Influenza-3", "Influenza-4", 
"Influenza-5", "Influenza-6", "Influenza-7", "Influenza-8")

for(flu in fluCols) {
dogs[flu] <- dogs %>% add_vertices(8) %>% add_vertices(dogs[flu], typ = "host")
    }
Error in intI(i, n = x@Dim[1], dn[[1]], give.dn = FALSE) : 
  no 'dimnames[[.]]': cannot use character indexing