[英]reading CSV data with igraph
我從http://snap.stanford.edu/data/soc-sign-bitcoinotc.html下載了soc-sign-bitcoinotc
數據集
我正在嘗試使用igraph
讀取此數據,但不確定如何或從何處開始。
CSV中的每一行都有一個等級,按時間排序,格式如下:
SOURCE, TARGET, RATING, TIME
樣本數據:
6 2 4 1289241912
6 5 2 1289241942
1 15 1 1289243140
我嘗試了這個:
dat = read.csv('soc-sign-bitcoinotc.csv', header=FALSE)
mat = as.matrix(dat)
g = graph.adjacency(mat, mode = c('directed'), weighted = TRUE)
但我收到此錯誤:
Error in graph.adjacency.dense(adjmatrix, mode = mode, weighted = weighted, :
not a square matrix
我假設我對數據結構使用了錯誤的方法
我想你想要graph.data.frame
。 dat
的前兩列用於邊緣列表。 其余列假定為邊屬性。
g <- graph.data.frame(dat)
要獲得頂點,請使用V()
:
head(V(g))
+ 6/5881 vertices, named, from 6ace412:
[1] 6 1 4 13 7 2
要獲取邊緣,請使用E()
:
head(E(g))
+ 6/35592 edges from 6ace412 (vertex names):
[1] 6 ->2 6 ->5 1 ->15 4 ->3 13->16 13->10
屬性:
head(E(g)$rating)
[1] 4 2 1 7 8 8
head(E(g)$time)
[1] 1289241912 1289241942 1289243140 1289245277 1289254254 1289254301
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.