繁体   English   中英

Rigraph degree()'match.arg中的错误'

[英]R igraph degree() 'Error in match.arg'

我有一个有向图,并且想导出一个带有“进度”,“出度”和“总度”等指标的顶点表。

g <- graph( c("John", "Jim", "Jim", "Jill", "Jill", "John"))

现在我们有了一个有向图样本,我想获取每个顶点的入,出和总度数。

degree(g, mode = c("in", "out", "total"))

返回此错误:

match.arg(arg = arg,choices = choices,many.ok = many.ok)中的错误:'arg'必须为长度1

我究竟做错了什么? 我可以每个人单独做,但我不怎么将它们连接在一起。

igraph中的degree函数不接受这样的多个参数。 使用sapply遍历不同的调用mode参数:

sapply(list("in","out","total"), function(x) degree(g, mode = x))

它返回连续列中的值:

> sapply(list("in","out","total"), function(x) degree(g, mode = x))
     [,1] [,2] [,3]
John    1    1    2 
Jim     1    1    2
Jill    1    1    2

在列出每个人的进,出和总计清单之后,

idl <- degree(g, mode="in")
odl <- degree(g, mode="out")
tdl <- degree(g, mode="total")

将它们转换为数据框

idl <- data.frame(idl)
odl <- data.frame(odl)
tdl <- data.frame(tdl)

然后结合使用cbind

> cbind(idl,odl,tdl)
     idl odl tdl
John   1   1   2
Jim    1   1   2
Jill   1   1   2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM