如何在R中更改网络图的标签?

3

我正在使用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) 

在图表上切换数字、匿名和非匿名标签。

1个回答

0

1
那并没有为图形加上标签。我的问题是关于如何为它们添加标签并轻松地在不同的标签集之间切换。 - Mittenchops
只需使用标签向量而不是NA。 - Jan Katins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接