gpt4 book ai didi

r - 如何使用谷本距离形成网络

转载 作者:行者123 更新时间:2023-12-02 01:03:29 25 4
gpt4 key购买 nike

我有这样的数据

column-1   Column-2      Similarity_dist
chemical-1 chemical-2 0.6
chemical-1 chemical-3 0.1
chemical-1 chemical-4 0.7
chemical-1 chemical-5 0.3
chemical-2 chemical-1 0.05
chemical-2 chemical-3 0.65
chemical-2 chemical-4 0.75
chemical-2 chemical-5 0.4

. .这样的 16000 行。现在我用 0.5 的相似性截止值过滤它们,我的数据看起来像

column-1   Column-2      Similarity_dist
chemical-1 chemical-2 0.6
chemical-1 chemical-4 0.7
chemical-2 chemical-3 0.65
chemical-2 chemical-4 0.75

. .

我想找到这些化学物质之间的相互作用网络。有谁知道 R 中的方法,我可以通过这种方法使用化学物质作为节点,使用距离作为边,然后形成网络?还有其他建议吗?有代码吗?

最佳答案

igraph 包中有一些工具可以让这一切变得简单。我认为您的意思是这些是化学物质之间的无向链接。如果不是,只需删除下面的 directed=FALSE 部分。

## Data
Chems = read.table(text="Column-1 Column-2 Similarity_dist
chemical-1 chemical-2 0.6
chemical-1 chemical-4 0.7
chemical-2 chemical-3 0.65
chemical-2 chemical-4 0.75",
header=TRUE, stringsAsFactors=FALSE)

现在我们有了您的数据,我们可以将其直接转化为网络。

library(igraph)
ChemGraph = graph_from_data_frame(Chems, directed=FALSE)
plot(ChemGraph)

Chemical Network

权重存储为边的属性(类型 E(ChemGraph)$Similarity_dist),可用作标签或更改链接的外观。

加法

如果有很多节点,而你只想查看一个子集的连通性,你可以这样得到:

## List the nodes you want
Wanted = c("chemical-1", "chemical-2", "chemical-4")

## Create the graph containing only wanted nodes
WantedGraph = induced_subgraph(ChemGraph, Wanted)
plot(WantedGraph)

Subgraph

关于r - 如何使用谷本距离形成网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49052293/

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