2
我在形式如何使用R中的附加信息創建鄰接列表中的igraph對象?
df <- data.frame(name= c("Sue", "Rob", "Jacob", "Terry"),
f1 = c("Rob", "Sue", "Rob", "Jacob"),
f2 = c(NA, "Terry", "Terry", NA),
f3 = c(NA, "Jacob", NA, NA),
bf1 = c(1,1,1,0),
bf2 = c(NA, 1, 0, NA),
bf3 = c(NA, 0, NA, NA))
其中的變量f1
到f3
指朋友蘇,羅布,雅各布和特里有相當廣泛的網絡數據。變量bf1
到bf3
指的是他們是否認爲他們是最好的朋友。
我現在想根據這個數據框創建一個R igraph
的圖形項目,幷包含所有信息。到目前爲止,我有:
adj_list <- subset(df, select = c(name, f1:f3))
m <- as.matrix(adj_list)
el1 <- cbind(m[, 1], c(m[, -1]))
el1 <- el1[complete.cases(el1),]
el1[2,] <- as.numeric(factor(c(el1[1,])))
g1 <- graph_from_edgelist(el1)
但我不知道如何獲取輔助信息到圖形對象。有任何想法嗎?
嘗試數據重塑長:'DAT < - 重塑(DF,不同=列表(2:4,5:7),方向= 「長」,idvar = 「名稱」)'。將它整理成ldat < - ldat [!is.na(ldat $ f1),-2]',然後讀入圖的g <-graph> :: graph_from_data_frame(ldat)':bf作爲邊緣屬性讀入。 – user20650
我假設你是指'bf1'到'bf3'作爲輔助信息,對吧? PS:邊權重可以通過'E(g1)$ weight'訪問。 –