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'访问。 –