千家信息网

R语言可视化STRING分析的蛋白互作网络报错的解决方法

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天就跟大家聊聊有关R语言可视化STRING分析的蛋白互作网络报错的解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。R语言可视化STRI
千家信息网最后更新 2026年11月01日R语言可视化STRING分析的蛋白互作网络报错的解决方法

今天就跟大家聊聊有关R语言可视化STRING分析的蛋白互作网络报错的解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

R语言可视化STRING分析的蛋白互作网络(PPI)

有一些朋友留言说在重复

net<-graph_from_data_frame(d=links,vertices=nodes,directed = T)

遇到了报错

Error in graph_from_data_frame(d = links, vertices = nodes, directed = T) : Some vertex names in edge list are not listed in vertex data frame

在这里记录一下原因和解决办法

R语言包ggraph可视化网络需要准备两个文件
  • 一个是节点文件
  • 另一个是节点之间的连线文件

比如我的网络是四个节点,分别是A,B,C,D,

节点之间两两连线

对应的数据应该是

> nodes<-data.frame(node=c("A","B","C","D"))
> edges<-data.frame(node1=c("A","A","A","B","B","C"),
+ node2=c("B","C","D","C","D","D"))
> nodes
node
1 A
2 B
3 C
4 D
> edges
node1 node2
1 A B
2 A C
3 A D
4 B C
5 B D
6 C D

接下来是可视化

library(ggraph)
library(igraph)
net<-graph_from_data_frame(d=edges,vertices = nodes,directed = F)
ggraph(net)+
geom_edge_link()+
geom_node_point()
image.png

但是如果你的edges文件里出现了nodes文件里没有的节点,

比如我在向edges这个文件里添加一个C~E的边

df<-data.frame(node1="C",node2="E")
edges1<-rbind(edges,df)
edges1

node1 node2
1 A B
2 A C
3 A D
4 B C
5 B D
6 C D
7 C E

接下来合并节点和边的时候就会遇到报错

> net<-graph_from_data_frame(d=edges1,vertices = nodes,directed = F)
Error in graph_from_data_frame(d = edges1, vertices = nodes, directed = F) :
Some vertex names in edge list are not listed in vertex data frame
一种解决办法是把带E的这条边给他去掉。那如何判断边中哪个节点是多与的呢?

可以使用 %in% 来看

比如

> edges1$node1 %in% nodes$node
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE
> edges1$node2 %in% nodes$node
[1] TRUE TRUE TRUE TRUE TRUE TRUE FALSE
> which(edges1$node2 %in% nodes$node)
[1] 1 2 3 4 5 6
> which(! edges1$node2 %in% nodes$node)
[1] 7

这就说明node2这一列第7行没有在 nodes里。

那我们就可以把这一行删掉了

还有一种办法是把E添加到节点里
df1<-data.frame(node="E")
nodes1<-rbind(nodes,df1)
nodes1
net<-graph_from_data_frame(d=edges1,vertices = nodes1,directed = F)
ggraph(net)+
geom_edge_link()+
geom_node_point()
image.png

关于string中蛋白互作网络输出文件为什么会出现

边文件中有的节点不是我们自己输入的基因id。这个我也不清楚。

我猜,完全是猜

比如你输入基因 a,b,c ,数据库中某个基因 d 刚好是链接这三个基因的中间点 就像这种,中间是d


那么最终的网络文件中就会多出来d 如果是这种情况,就不能在边文件删除d而是只能在节点中添加d了。

看完上述内容,你们对R语言可视化STRING分析的蛋白互作网络报错的解决方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

文件 节点 网络 可视化 蛋白 语言 基因 分析 内容 办法 方法 接下来 之间 数据 输入 清楚 一行 三个 两个 原因 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 苏州找大状互联网科技有限公司 科技金融是不是互联网金融 科技互联网技术 北京互联网科技 互联网科技金融公司 互联网科技革命 安徽鑫晟辉互联网科技 互联网科技股有哪些 天扬科技互联网广告 湖南洣水互联网科技有限公司扣款 民营互联网公司国防科技 南博望互联网科技有限公司 21世纪互联网科技成就 江苏互联网智能科技软件 广州燕处互联网科技有限公司 互联网时代科技型公司的机会 北京互联网科技类企业分布 第三届互联网大会安防黑科技 科技互联网专业工作会议发言稿 湖北九亚互联网络科技有限公司 科技互联网龙头 科技类互联网 广州紫鲸互联网科技 武汉健翔互联网络科技有限公司 千方科技属于互联网企业吗 996高科技互联网公司 天津腾达互联网科技有限公司 上海乐五互联网科技有限公司 云鲸互联网络科技有限公司
0