[英]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.