我创建了一个网络然后我想根据程度绘制网络节点大小(更多链接 - >更大的节点)。 我尝试了here找到的代码。
这是我的代码:
library(igraph)
# load dataset
net <- read.graph("./dataset.gml", format = c("gml"))
# Generate colors base on media type:
colrs <- c("gray50", "tomato", "gold")
V(net)$color <- colrs[V(net)$media.type]
# Compute node degrees (#links) and use that to set node size:
deg <- degree(net, mode = "all")
V(net)$size <- deg*3
# We could also use the audience size value:
V(net)$size <- V(net)$audience.size*0.6
#change arrow size and edge color:
E(net)$arrow.size <- .2
E(net)$edge.color <- "gray80"
x11()
plot(net)
当我运行此代码时,我收到此错误:
deg&lt; - degree(net,mode =“all”)
度数错误(net,mode =“all”):未使用的参数(mode =“all”)
我使用的数据集是悲惨世界:
> dput(net)
structure(list(77, FALSE, c(1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 11,
11, 11, 11, 12, 13, 14, 15, 17, 18, 18, 19, 19, 19, 20, 20, 20,
20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23,
23, 23, 23, 23, 23, 24, 24, 25, 25, 25, 26, 26, 26, 26, 27, 27,
27, 27, 27, 28, 28, 29, 29, 29, 30, 31, 31, 31, 31, 32, 33, 33,
34, 34, 35, 35, 35, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, 38,
38, 38, 38, 38, 39, 40, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44,
45, 47, 48, 48, 48, 48, 49, 49, 50, 50, 51, 51, 51, 52, 52, 53,
54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 57,
57, 57, 58, 58, 58, 58, 58, 59, 59, 59, 59, 60, 60, 60, 61, 61,
61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63,
63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66,
66, 67, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 70,
70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 72,
72, 72, 73, 74, 74, 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76,
76, 76, 76), c(0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 10, 3, 2, 0, 11,
11, 11, 11, 16, 16, 17, 16, 17, 18, 16, 17, 18, 19, 16, 17, 18,
19, 20, 16, 17, 18, 19, 20, 21, 16, 17, 18, 19, 20, 21, 22, 12,
11, 23, 11, 24, 23, 11, 24, 11, 16, 25, 11, 23, 25, 24, 26, 11,
27, 23, 27, 11, 23, 30, 11, 23, 27, 11, 11, 27, 11, 29, 11, 34,
29, 34, 35, 11, 29, 34, 35, 36, 11, 29, 34, 35, 36, 37, 11, 29,
25, 25, 24, 25, 41, 25, 24, 11, 26, 27, 28, 11, 28, 46, 47, 25,
27, 11, 26, 11, 49, 24, 49, 26, 11, 51, 39, 51, 51, 49, 26, 51,
49, 39, 54, 26, 11, 16, 25, 41, 48, 49, 55, 55, 41, 48, 55, 48,
27, 57, 11, 58, 55, 48, 57, 48, 58, 59, 48, 58, 60, 59, 57, 55,
55, 58, 59, 48, 57, 41, 61, 60, 59, 48, 62, 57, 58, 61, 60, 55,
55, 62, 48, 63, 58, 61, 60, 59, 57, 11, 63, 64, 48, 62, 58, 61,
60, 59, 57, 55, 64, 58, 59, 62, 65, 48, 63, 61, 60, 57, 25, 11,
24, 27, 48, 41, 25, 68, 11, 24, 27, 48, 41, 25, 69, 68, 11, 24,
27, 41, 58, 27, 69, 68, 70, 11, 48, 41, 25, 26, 27, 11, 48, 48,
73, 69, 68, 25, 48, 41, 70, 71, 64, 65, 66, 63, 62, 48, 58),
c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 12, 11, 10, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 47, 46, 39, 40, 41, 42, 43, 44,
45, 49, 48, 52, 51, 50, 54, 55, 53, 56, 57, 58, 60, 59, 61,
62, 63, 66, 64, 65, 67, 69, 70, 71, 68, 72, 73, 74, 75, 76,
77, 79, 78, 82, 83, 80, 81, 87, 88, 84, 85, 86, 93, 94, 89,
90, 91, 92, 95, 96, 97, 98, 101, 100, 99, 102, 103, 104,
106, 105, 107, 108, 112, 110, 111, 109, 114, 113, 116, 115,
119, 118, 117, 121, 120, 122, 125, 124, 123, 131, 132, 133,
130, 128, 134, 135, 127, 126, 129, 136, 137, 139, 140, 138,
145, 143, 142, 141, 144, 148, 147, 149, 146, 150, 151, 152,
153, 158, 157, 154, 156, 155, 164, 162, 159, 163, 160, 161,
166, 165, 168, 174, 170, 171, 167, 173, 172, 169, 184, 177,
175, 183, 179, 182, 181, 180, 176, 178, 187, 194, 193, 189,
192, 191, 190, 188, 185, 186, 200, 196, 197, 203, 202, 198,
201, 195, 199, 204, 206, 207, 205, 208, 210, 209, 213, 214,
211, 215, 217, 216, 212, 221, 222, 218, 223, 224, 225, 220,
219, 230, 233, 226, 232, 231, 228, 227, 229, 236, 234, 235,
237, 238, 239, 242, 244, 243, 241, 240, 245, 246, 252, 253,
251, 250, 247, 248, 249), c(0, 1, 2, 4, 5, 6, 7, 8, 9, 13,
3, 12, 11, 10, 14, 15, 16, 17, 47, 49, 52, 54, 57, 62, 66,
69, 72, 73, 75, 77, 82, 87, 93, 102, 106, 112, 114, 119,
131, 145, 184, 206, 213, 221, 230, 236, 46, 18, 19, 21, 24,
28, 33, 39, 55, 132, 20, 22, 25, 29, 34, 40, 23, 26, 30,
35, 41, 27, 31, 36, 42, 32, 37, 43, 38, 44, 45, 48, 51, 58,
64, 67, 70, 50, 53, 60, 97, 101, 116, 207, 214, 222, 56,
59, 95, 96, 98, 100, 110, 133, 205, 211, 218, 233, 242, 61,
103, 113, 118, 125, 130, 234, 63, 65, 71, 74, 104, 111, 143,
208, 215, 223, 226, 235, 105, 107, 76, 79, 83, 88, 94, 68,
78, 80, 84, 89, 81, 85, 90, 86, 91, 92, 121, 128, 99, 134,
139, 164, 210, 217, 224, 232, 244, 108, 109, 135, 140, 142,
148, 150, 153, 162, 168, 177, 187, 200, 209, 216, 231, 237,
238, 243, 252, 115, 117, 124, 127, 136, 120, 122, 123, 126,
129, 137, 138, 141, 147, 158, 159, 174, 175, 194, 144, 149,
157, 163, 170, 183, 193, 204, 146, 151, 154, 160, 171, 179,
189, 196, 225, 253, 152, 156, 161, 167, 182, 192, 197, 155,
166, 173, 181, 191, 203, 165, 172, 180, 190, 202, 169, 176,
188, 198, 251, 178, 185, 201, 250, 186, 195, 247, 199, 248,
249, 212, 220, 228, 241, 219, 227, 240, 229, 245, 246, 239
), c(0, 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 10, 14, 15, 16, 17,
18, 18, 19, 21, 24, 28, 33, 39, 48, 50, 53, 57, 62, 64, 67,
68, 72, 73, 75, 77, 80, 84, 89, 95, 96, 97, 99, 102, 105,
107, 108, 108, 109, 113, 115, 117, 120, 122, 123, 126, 136,
138, 141, 146, 150, 153, 159, 167, 175, 185, 195, 204, 205,
211, 218, 226, 234, 237, 238, 240, 247, 254), c(0, 10, 10,
12, 13, 13, 13, 13, 13, 13, 13, 14, 46, 47, 47, 47, 47, 56,
62, 67, 71, 74, 76, 77, 83, 92, 105, 112, 124, 126, 131,
132, 132, 132, 132, 136, 139, 141, 142, 142, 144, 144, 153,
153, 153, 153, 153, 154, 155, 173, 178, 178, 182, 182, 182,
183, 192, 192, 200, 210, 217, 223, 228, 233, 237, 240, 242,
243, 243, 247, 250, 252, 253, 253, 254, 254, 254, 254), list(
c(1, 0, 1), structure(list(), .Names = character(0)),
structure(list(id = c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75, 76), label = c("Myriel",
"Napoleon", "MlleBaptistine", "MmeMagloire", "CountessDeLo",
"Geborand", "Champtercier", "Cravatte", "Count", "OldMan",
"Labarre", "Valjean", "Marguerite", "MmeDeR", "Isabeau",
"Gervais", "Tholomyes", "Listolier", "Fameuil", "Blacheville",
"Favourite", "Dahlia", "Zephine", "Fantine", "MmeThenardier",
"Thenardier", "Cosette", "Javert", "Fauchelevent", "Bamatabois",
"Perpetue", "Simplice", "Scaufflaire", "Woman1", "Judge",
"Champmathieu", "Brevet", "Chenildieu", "Cochepaille",
"Pontmercy", "Boulatruelle", "Eponine", "Anzelma", "Woman2",
"MotherInnocent", "Gribier", "Jondrette", "MmeBurgon",
"Gavroche", "Gillenormand", "Magnon", "MlleGillenormand",
"MmePontmercy", "MlleVaubois", "LtGillenormand", "Marius",
"BaronessT", "Mabeuf", "Enjolras", "Combeferre", "Prouvaire",
"Feuilly", "Courfeyrac", "Bahorel", "Bossuet", "Joly",
"Grantaire", "MotherPlutarch", "Gueulemer", "Babet",
"Claquesous", "Montparnasse", "Toussaint", "Child1",
"Child2", "Brujon", "MmeHucheloup"), maincharacter = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0)), .Names = c("id", "label", "maincharacter"
)), structure(list(value = c(1, 8, 10, 6, 1, 1, 1, 1,
2, 1, 1, 3, 3, 5, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 3, 3,
3, 4, 3, 3, 3, 3, 5, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 4,
4, 4, 2, 9, 2, 7, 13, 1, 12, 4, 31, 1, 1, 17, 5, 5, 1,
1, 8, 1, 1, 1, 2, 1, 2, 3, 2, 1, 1, 2, 1, 3, 2, 3, 3,
2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 1, 1,
2, 3, 2, 2, 1, 3, 1, 1, 3, 1, 2, 1, 2, 1, 1, 1, 3, 2,
1, 1, 9, 2, 2, 1, 1, 1, 2, 1, 1, 6, 12, 1, 1, 21, 19,
1, 2, 5, 4, 1, 1, 1, 1, 1, 7, 7, 6, 1, 4, 15, 5, 6, 2,
1, 4, 2, 2, 6, 2, 5, 1, 1, 9, 17, 13, 7, 2, 1, 6, 3,
5, 5, 6, 2, 4, 3, 2, 1, 5, 12, 5, 4, 10, 6, 2, 9, 1,
1, 5, 7, 3, 5, 5, 5, 2, 5, 1, 2, 3, 3, 1, 2, 2, 1, 1,
1, 1, 3, 5, 1, 1, 1, 1, 1, 6, 6, 1, 1, 2, 1, 1, 4, 4,
4, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2,
2, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)), .Names = "value")),
<environment>), class = "igraph")
我不明白问题是什么。
答案 0 :(得分:0)
当你搜索&#34; degree&#34;你可以找到两种学位函数。 就我而言,我可以这样看,
?degree
Help on topic 'degree' was found in the following packages:
Compute the Degree Centrality Scores of Network Positions
(in package sna in library C:/Program Files/R/R-3.3.1/library)
Degree and degree distribution of the vertices
(in package igraph in library C:/Program Files/R/R-3.3.1/library)
sna包中的度函数没有&#34;模式&#34;争论,但igraph有它。
因此,您可以使用R脚本来识别使用&#34; ::&#34;。
> deg <- degree(net, mode="all")
Error in degree(net, mode = "all") : unused argument (mode = "all")
> deg <- igraph::degree(net, mode="all")
>
享受R !!
答案 1 :(得分:0)
问题是您在上面加载的几个库之间存在冲突。该解决方案在被调用的degree
函数的命令中定义为igraph
。
您可以按如下方式指定:library_name :: function_name
在您的情况下,library_name值为igraph
,function_name为degree
,因此您的代码应如下所示:
deg <- igraph::degree (net, mode = "all")
它有效。
此方法非常有用,但不应该创建冲突(两个不同的包中的函数名称相同),因此请指定要与::
一起使用的包。
库ade4
包含名为within
的函数,R的base
环境已包含函数within
。当然,within
ade4
的行为与within
的{{1}}不同。
因此,如果在我的工作环境中,我已加载了两个库(base
和base
)并且我想使用函数ade4
,那么我将遇到R执行冲突。这是由于2个函数具有相同的名称而R不知道您想要使用哪个库。在这种情况下,您必须指定相关的库。
在这里,正如我们所知道的那样,我们不想尝试将与within
一起使用的那个分开。
在编写代码时,人们知道要用于函数的库,因此在不拆分包的情况下,您可以执行以下操作之一:
要执行detach("package:ade4")
的{{1}}功能,请:
within
要执行base
的{{1}}功能,请:
base::within()
我希望你能回答并解释清楚。