所以我使用all_shortest_paths来获取输出,如下所示:
PathsE
$res[[1]]
+ 4/990 vertices, named:
[1] Sortilin GGA1 Ubiquitin PIMT
$res[[2]]
+ 4/990 vertices, named:
[1] Sortilin TrkA PLK1 PIMT
$res[[3]]
+ 4/990 vertices, named:
[1] Sortilin APP JAB1 PIMT
Run Code Online (Sandbox Code Playgroud)
我想将其转换为数据框,以便可以对其进行操作。作为参考,我希望数据框看起来像这样:
Prot1 Prot2 Prot3 Prot4
Pathway1 Sortilin GGA1 PLK1 PIMT
Pathway2 Sortilin TrkA PLK1 PIMT
Pathway3 Sortilin APP JAB1 PIMT
Run Code Online (Sandbox Code Playgroud)
*我知道如何更改
我尝试过的轴名称
PathsDF<-as.data.frame(PathsE)
Run Code Online (Sandbox Code Playgroud)
但是我得到这个错误:
as.data.frame.default(x [[i]],可选= TRUE)中的错误:无法将类“ igraph.vs”强制转换为data.frame
我也试过这个:
PathDF <- as.data.frame(get.edgelist(PathsE))
Run Code Online (Sandbox Code Playgroud)
但是我得到这个错误
get.edgelist(PathsE)中的错误:不是图形对象
当我使用检查数据结构时
class(PathsEF)
Run Code Online (Sandbox Code Playgroud)
它说这是一个清单。但是当我使用
str(PathsE)
Run Code Online (Sandbox Code Playgroud)
它看起来像这样:
..$ :Class 'igraph.vs' atomic [1:4] 338 204 40 913 …Run Code Online (Sandbox Code Playgroud) 基本上,我有一个数据框,df
Beginning1 Protein2 Protein3 Protein4 Biomarker1
Pathway3 A G NA NA F
Pathway8 Z G NA NA E
Pathway9 A G Z H F
Pathway6 Y G Z H E
Pathway2 A G D NA F
Pathway5 Q G D NA E
Pathway1 A D K NA F
Pathway7 A B C D F
Pathway4 V B C D E
Run Code Online (Sandbox Code Playgroud)
我想组合数据框,以便从“Protein2”到“Protein4”相同的那些行是浓缩的,给出以下内容:
Beginning1 Protein2 Protein3 Protein4 Biomarker1
Pathway3 A,Z G NA NA F,E
Pathway9 A,Y G Z H F,E
Pathway2 A,Q …Run Code Online (Sandbox Code Playgroud)