我想问一下,是否有人熟悉距离矩阵中缺失值的估算。对于普通数据(具有连续变量和标称变量的表),有大量的计算技术,如热甲板和冷面、预测模型等。然而,几乎没有关于如何处理距离矩阵的信息。
示例:
distance <- dist(rnorm(20))
distance[c(10, 20, 30, 40, 50, 60)] <- NA
在这种情况下,如何计算缺失的值?
发布于 2015-12-01 13:53:58
有两个允许完成部分距离矩阵的过程:一个基于超度量不等式,另一个基于使用四点条件的加性过程( Makarenkov & Lapointe,2004中详细描述的算法)。这两种方法都是在R.
方法的选择取决于距离属性。
# Generate a distance matrix with five missing values
set.seed(111)
dd <- dist(1:10)
dd[sample(x = 1:length(dd), size = 5)] <- NA
dd
1 2 3 4 5 6 7 8 9
2 1
3 2 1
4 3 2 1
5 4 3 2 1
6 5 4 3 2 1
7 6 5 4 NA NA 1
8 7 6 NA 4 3 2 1
9 8 NA 6 5 4 3 2 NA
10 9 8 7 6 5 4 3 2 1
# Replace missing data
library(ape)
as.dist( additive(dd) ) # additive procedure
as.dist( ultrametric(dd) ) # ultrametric procedure
Makarenkov V,Lapointe FJ (2004年)。从不完全距离矩阵推断系统发育的加权最小二乘方法。生物信息学,20(13),2113-2121,DOI: 10.1093/生物信息学/bth211 211.
https://stackoverflow.com/questions/34021121
复制相似问题