小编Saa*_*aad的帖子

删除没有边的自循环和顶点

我正在构建一个基因网络.我有一个两列数据框,我转换成和邻接矩阵,并在igraph中使用它.问题是我有自我循环的基因,我想摆脱自我循环,然后摆脱没有边缘(可能与网络隔离)的顶点.我尝试了一些东西,但不知怎的,它们不起作用.我的代码是

 InnatedGraph <- graph.data.frame(innate,directed=FALSE)
 V(InnatedGraph)$label.cex = 0.4
 plot(InnatedGraph,vertex.label=V(InnatedGraph)$symbol, vertex.size=5)
Run Code Online (Sandbox Code Playgroud)

先天是我的两列数据框架.我已经尝试过度函数去除0度的顶点,但我猜不幸它不起作用(也许becoz自环基因有1度).

bad.vs<-V(InnatedGraph)[degree(InnatedGraph) == 0] 
clean <-delete.vertices(InnatedGraph, bad.vs)
Run Code Online (Sandbox Code Playgroud)

我尝试使用包装BioNet"rmSelfLoops"中的另一个函数,借助它我可以移除自循环边但仍然无法移除没有边的顶点.

test<-rmSelfLoops(InnatedGraph)
Run Code Online (Sandbox Code Playgroud)

我还将包含我的网络图片,以便更容易理解.在此输入图像描述

r igraph

8
推荐指数
1
解决办法
8300
查看次数

从igraph中的图形中删除未连接的短路径

我正在使用igraph中的网络,我有一个网络,其中有短的连接节点,彼此重叠,所以我们不要exaclt看到边缘.我想删除这样的短连接节点,因为它们没有连接到主网络.由于节点不是0度,因此度数不起作用,它们要么连接到一个或多个基因,但仍然不在主网络中.即使主网络显示一些重叠基因,我也想纠正它.

 net <- simplify(InnatedGraph, remove.multiple = T, remove.loops = T, ) 
 bad.vs<-V(net)[degree(net) == 0] 
 net <-delete.vertices(net, bad.vs)
 plot(net,vertex.label=NA, edge.curved=.1, edge.width = 1,edge.arrow.width = 0.3,vertex.size = 3,asp=-1,edge.arrow.size = 0.5,vertex.label.cex = 0.3)
Run Code Online (Sandbox Code Playgroud)

完成所有这些后,我得到了这样的网络 在此输入图像描述

您在主网络周围看到的基因不是孤立的节点,而是连接到其他重叠的节点.是否有办法删除这些基因,防止在主网络中重叠.

r graph igraph

3
推荐指数
1
解决办法
1633
查看次数

从数据框中的列中删除小数

我有一个在列中带有数字的数据框,这些数字是小数。我想删除列中的小数和蚂蚁整数。

我的数据框expsrs看起来像这样

ENSG00000226823.1           15     14.4947     22.5606     13.5819     5.09327     16.8503
ENSG00000266470.1            0           0           0           0           0           0
ENSG00000229435.2            0           0           0           0           0           0
ENSG00000277456.1            0           0           0           0           0           0
ENSG00000236077.2            0           0           0           0           0           0
ENSG00000280518.1            0     57.9833     30.4089     23.0059     4.85613           0
Run Code Online (Sandbox Code Playgroud)

我已经尝试过此代码,但是它删除了小数点,但也更改了值。

exprs$V1<-round(as.numeric(exprs$V1), 0)
Run Code Online (Sandbox Code Playgroud)

我想从所有列中删除小数,而不是从行名中删除。有人可以帮忙吗?

r type-conversion dataframe

1
推荐指数
1
解决办法
8552
查看次数

标签 统计

r ×3

igraph ×2

dataframe ×1

graph ×1

type-conversion ×1