我正在使用 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"
(我还有一个版本,它只是(a)源、目标和权重,以及一个单独的文件(b)提供源 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,其中边缘相同,但节点名称sourceID 和 Label Name 变化的对应关系。
但是,当尝试使用这些包中的任何一个时,似乎我必须将源和目标中的值转换为等于标签。是否有任何简单的方法可以将标签附加为与源的对应关系?
只要我有标签列,类似的东西network(d)
就graph.data.frame(d, directed=TRUE)
不会起作用。一旦我放弃这个类别,它就会,但我的图表有数字标签。
我想做的是这样的:
plot(a, labels=NA)
plot(a, labels=labels1)
和
plot(a, labels=labels2)
在图形上的数字、匿名和非匿名标签之间移动。