다음 파이썬 코드 (Networkx
)를 R (igraph
)로 변환하려고합니다. Python Networkx에서 오류가있는 Rigraph 변환
다음
# Python code
import csv
import networkx as nx
import urllib
DG=nx.DiGraph()
dogcsv=csv.DictReader(open("dogs.csv","rU"))
dogid=0
nodeStr=['id', 'species', 'Location 1', 'Location 2']
nodeInt=['sumflu']
fluCols=['Influenza-1', 'Influenza-2', 'Influenza-3', 'Influenza-4',
'Influenza-5', 'Influenza-6', 'Influenza-7', 'Influenza-8', 'Influenza-9']
for flu in fluCols:
DG.add_node(flu,typ="species")
for row in dogcsv:
dogID='animal'+str(dogid)
DG.add_node(dogID,typ='animal')
for dog in nodeStr:
DG.node[dogID][dog]=row[dog]
for dog in nodeInt:
DG.node[dogID][dog]=int(row[dog])
for flu in fluCols:
if str(row[flu])=='1':
DG.add_edge(dogID,flu)
dogid=dogid+1
는의 부분 전환에 나의 시도 파이썬에서 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")
}
이것은 내가 R 코드의 마지막 부분을 실행할 때 나타나는 오류 코드입니다 :
파이썬Networkx
에서
Error in intI(i, n = [email protected][1], dn[[1]], give.dn = FALSE) :
no 'dimnames[[.]]': cannot use character indexing
, 그래프는 graphname.function (예에 의해 호출 할 수 있습니다. DG.add_node(dogID,typ='animal')
).
R의 igraph
에 해당하는 항목이 있습니까?
노드의 수를 정의하지 않고도 R의 igraph
에있는 노드를 호출 할 수있는 방법이 있습니까?
또한 R로 번역 할 때 힌트 나 제안을 해주겠습니까?
감사합니다.
다음은 .CSV 데이터 포함
ID 종, 위치 1, 위치 2, 동물 ID, sumvirus을 인플루엔자 1, 인플루엔자 2 인플루엔자 3, 인플루엔자 (4) 인플루엔자 -5, 인플루엔자 -6, 인플루엔자 -7, 인플루엔자 -8, 인플루엔자 -9
YUI-4322, host1, Park 4, Park, MW 391,1,0000000 , 0,0
YUI-4321, host2, Park 4, Park, MW 390000000000
YUI-4320, host2, Park 4, Park, MW 389,1,000000000
YUI-4319, host2, Park 4, Park, MW 388,0,0,0,0,0, 0,0,0,0,0
YUI-7318, host2, Park 4, Park, MW 387,1,00000000
YUI-4317, host1, Park 4, Park, MW 386 , 0000000000
YUI-4316, host2, Park 4, Park, MW 385,1,1,0,0,0,0,0, 0,0,0
YUI-2315, host1, Shelter 2, Shelter, MV319,1,000000000
YUI-4314, host1, Shelter 2, Shelter, MV 332,1,000000000
관심이 있으신가요? [http://stackoverflow.com/questions/17433402/r-igraph-rename-vertices](this).igraph Python 버전이 존재합니다. 아마도 중간 단계로 번역 할 수 있습니다. 비록 당신은 어떻게 networkx를 떠날 수 있 었는가? ;-) –