gpt4 book ai didi

r - 将 igraph 对象转换为 R 中的数据框

转载 作者:行者123 更新时间:2023-12-03 21:24:33 25 4
gpt4 key购买 nike

我正在使用 iGraph 库,我需要在网络上运行一些统计分析。我正在使用 iGraph 计算几个变量,然后想将这些指标用作一些回归中的因变量,并将顶点属性用作模型中的自变量。

所以,我能够加载数据,运行 igraph 分析,但我无法将 igraph 对象转换回数据框。我真的不需要保留边缘,只需要将每个顶点变成一个观察值,其中属性作为每行中的一列。

我尝试了以下方法:

fg <- fastgreedy.community(uncompg, merges=TRUE)
z<-which.max(fg$modularity)
fgc<- community.to.membership(uncompg, fg$merges,z)
names<-array(V(uncompg)$name)
fccommunity<-array(fgc$membership)
fcresult<-as.matrix(cbind(names,fccommunity))
compg <- set.vertex.attribute(compg, "community", value=fccommunity)

uncompg<-simplify(as.undirected(compg))
hubscore<-hub.score(compg)$vector
authscore<-authority.score(compg)$vector

netdata<-as.data.frame(compg)

但它抛出以下错误:
  cannot coerce class '"igraph"' into a data.frame

任何帮助或指示将不胜感激。

最佳答案

我不太确定你要做什么。您想要将关系作为数据框,还是将节点属性作为数据框?

做前者:

> compg.edges <- as.data.frame(get.edgelist(compg))

做后者:
> compg.df <- as.data.frame(list(Vertex=V(compg), Community=fccommunity, Hubscore=hubscore, Authscore=authscore), stringsAsFactors=FALSE)

关于r - 将 igraph 对象转换为 R 中的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4904972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com