我正在使用R语言进行社交网络分析,尝试使用SNA、Network和iGraph等包。
我的数据是一个data.frame结构,如下... d <-
Source Target Weight Label
1 2 0.5 "Fred"
1 3 0.7 "Fred"
2 3 0.9 "Bill"
3 1 1.0 "Allen"
我还有一份仅包含源、目标和权重的版本,另外还有一个文件提供了源ID和标签值之间的对应关系,即源的名称,其中a <-
。
Source Target Weight
1 2 0.5
1 3 0.7
2 3 0.9
3 1 1.0
labels1 <-
Source Label
1 "Fred"
2 "Bill"
3 "Allen"
labels2 <-
Source Label
1 "TrueName1"
2 "TrueName2"
3 "TrueName3"
我正在处理一个匿名社交网络,希望能够轻松更改名称标签以在重新绘制时使用不同的标签集。例如,使用标签集1或标签集2,其中边缘相同,但源ID和标签名称之间的节点名称对应关系会发生变化。
然而,当尝试使用任何这些软件包时,似乎需要将源和目标中的值转换为与标签相等的值。有没有一种简单的方法将标签附加为源的对应项?
只要我有标签列,像network(d)
和graph.data.frame(d, directed = TRUE)
这样的东西就行不通了。一旦我删除此类别,它就可以正常工作,但我的图表具有数字标签。
我想能够做到这样:
plot(a, labels=NA)
plot(a, labels=labels1)
并且
plot(a, labels=labels2)
在图表上切换数字、匿名和非匿名标签。