首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:比较不同代谢模型与离散小波变换的异同

R:比较不同代谢模型与离散小波变换的异同
EN

Data Science用户
提问于 2015-08-04 10:48:20
回答 1查看 336关注 0票数 1

我在比较细菌代谢模型。每个模型都有一组代谢物(大约2000年左右),它们的浓度为200个时间点。我正在比较这些模型,根据它们的相似性对它们进行聚类。我遵循的一种方法是,用欧几里德距离对两个模型中的每对代谢物对进行配对比较。下面是我的数据的样子。这是一个样本数据文件

我计算了A模型的Met1和B模型的Met1之间的对欧几里德距离,同样计算了两个模型(模型A中的Met4和B模型中的Met4)之间的所有公共代谢物的距离,并总结出两个模型之间的距离(不同)。类似地,我计算了所有模型的不同矩阵,并使用分层聚类对它们进行聚类。

如上所述,现在我想用离散小波变换作为距离度量来计算模型的不同之处。我想知道如何使用离散小波变换来计算两个时间序列之间的不同距离,因此对于我的模型。

以前,我使用DWT作为DBSCAN的距离度量,根据代谢产物的行为在一个模型中对其进行聚类。效果很好。

EN

回答 1

Data Science用户

回答已采纳

发布于 2015-08-05 14:35:57

请看一下TSclust包。在这里,您将如何将它应用于您的样本数据。

代码语言:javascript
复制
require(TSclust)

#read in the data
model_a <- read.csv("~/Desktop/Model A.csv", header = TRUE, stringsAsFactors = FALSE)
model_b <- read.csv("~/Desktop/Model B.csv", header = TRUE, stringsAsFactors = FALSE)

#data must be in rows rather than columns
model_a <- as.data.frame(t(model_a))

model_b <- as.data.frame(t(model_b))

#calculate dissimlarities between metabolites in models 1 and 2
met1_DWT.diss <- as.numeric(diss.DWT(rbind(model_a['Met1', ], model_b['Met1', ])))
met1_DWT.diss
[1] 90.80332

met2_DWT.diss <- as.numeric(diss.DWT(rbind(model_a['Met2', ], model_b['Met2', ])))
met2_DWT.diss
[1] 1.499241
票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/6679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档