我有兴趣从拓扑排序的分解网络图的各个部分创建数据框。我的程序可以为分解网络的各个部分生成这个,我得到一个数据框,以正确的顺序显示节点。
g <- graph.data.frame(Data, directed="TRUE")
dg <- decompose.graph(g)
topo <- topological.sort(dg[[1]],mode="out")
df <- ldply(topo, data.frame)
colnames(df) <- c("id","id_order")
df$activity_order <- seq.int(nrow(df))
## id id_order activity_order
## 1 355 1 1
## 2 3180 3 2
## 3 6019 4 3
## 4 10672 2 4
## 5 49507 5 5
但是,当我想在分解网络的所有部分上进行迭代时,它不会产生预期的输出。
Newdata <- do.call("rbind", lapply(1:clusters(g)$no, function(x){
dgpart <- dg[[x]]
topopart <- topological.sort(dgpart,mode="out")
dfpart <- ldply(topopart, data.frame)
colnames(dfpart) <- c("id","id_order")
dfpart$activity_order <- seq.int(nrow(dfpart))
}))