我有一个包含3列的data.frame,第1列和第2列表示边缘列表,第3列表示权重。我用graph.data.frame(data.frame)来获取图形。
#df: data frame
g<- graph.data.frame(df1, directed=F)
E(g)$weight<- df1[,3]
View(df1)
0 11 315.39
0 66 366.68
0 128 95.6
0 233 117.58
0 437 205.5
..........
..........
..........
第3列是我分配给g的权重 现在,如果我做
df2<- get.data.frame(g)
它给出了一个名为权重的额外第4列,如下所示
0 11 315.39 34
0 66 366.68 35
0 128 95.6 3
0 233 117.58 10
0 437 205.5 19
..................
..................
..................
我知道R采用了唯一的权重并按顺序编号,第4列给出了权重的相应序列号。 最后我简化了我的图表
g<- simplify(g)
df3<- get.data.frame(g)
View(df3)
0 11 34
0 66 35
0 128 3
0 233 10
0 437 19
..........
..........
..........
现在我的体重消失了...... 为什么会这样......? 如果我在图g上做一些社区发现(fastgreedy,multilevel)算法怎么办?会考虑我原来的重量吗?