对于向量AB ,欧几里德距离为: sqrt((A1-B1)^2+(A2-B2)^2+...+(An-Bn)^2)

A <- c(5, 4, 3, 2, 1, 1, 2, 3, 5)
B <- c(1, 0, 6, 4, 3, 2, 3, 1, 3)
dist(rbind(A,B), method= "euclidean") 
7.681146

当向量A和B包含缺失值时,如何计算距离? 这是一个例子:距离的R输出是8.485281但它是如何计算的?

A <- c(5, NA, NA, NA, 1, 1, 2, 3, 5)
B <- c(1, 0, 6, NA, NA, NA, NA, 1, 3)
dist(rbind(A,B), method= "euclidean")
8.485281

===============>>#1 票数:9 已采纳

首先删除带NA条目,然后按比例缩放距离以考虑完整样本的较大尺寸:

i <- is.na(A) | is.na(B)
dist(rbind(A[!i], B[!i])) * sqrt(length(A) / length(A[!i]))
#          A2
# B2 8.485281

  ask by Filly translate from so

未解决问题?本站智能推荐: