【发布时间】:2014-08-05 09:25:06
【问题描述】:
我想根据两个标识符创建一个具有相似性的矩阵,请考虑以下矩阵:
x1 <- c(2,2,2,3,1,2,4,6,4)
y1 <- c(5,4,3,3,4,2,1,6,3)
x2 <- c(8,2,7,3,1,2,2,2,6)
y2 <- c(1,3,3,3,1,2,4,3,8)
x3 <- c(4,4,1,2,4,6,3,2,9)
y3 <- c(1,2,3,3,1,2,4,6,1)
id1 <- c("a","a","a","a","b","b","b","b","b")
id2 <- c(2002,2002,2003,2003,2002,2002,2003,2003,2003)
dat <- data.frame(x1,y1,x2,y2,x3,y3,id1,id2)
对于由id1 和id2 标记的组,我想在数据集中的行之间创建欧几里德距离(sqrt((x1a-x1b)^2+(y1a-y1b)^2 + ... + (y3a-y3b)^2))。在最好的情况下,将有一个新变量指示每条线与另一条线之间的距离,具有相同的id1 和id2。请注意,每个组可以有不同数量的成员,例如 2003 年的 b 组有 3 种情况。
任何建议都会很棒!!!
【问题讨论】:
标签: r euclidean-distance