我有一个有向图,并希望导出一个顶点表,其中包含“度数”,“超出度”和“总度”等指标,这些都是一体的。
g <- graph( c("John", "Jim", "Jim", "Jill", "Jill", "John"))
现在我们有了一个样本有向图,我希望得到每个顶点的入,出和总度。
degree(g, mode = c("in", "out", "total"))
返回此错误:
match.arg中的错误(arg = arg,choices = choices,few.ok = 几个):'arg'的长度必须为1
我做错了什么?我可以单独完成每一个,但我不知道如何将它们连接在一起。
答案 0 :(得分:1)
degree
中的igraph
函数不接受这样的多个参数。使用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
答案 1 :(得分:0)
将每个人列入,列出和总列表后
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