【发布时间】:2019-12-13 11:24:10
【问题描述】:
我正在尝试计算房子 a 和 x、b 和 x 之间的欧几里得距离,.. . 从一张桌子。这是我的数据样子:
df <- data.frame(house=c(letters[1:10],"x"),long=c(11,15,19,18,16,23,25,21,23,29,19),
lat=c(26,29,28,30,26,25,22,24,25,24,25),
location=(c(rep("city", 5),rep("district", 5), "null")))
我试过用欧几里得公式计算:
euclid<- function(x1,x2, y1,y2) {
euclid= sqrt((x1-x2)^2+(y1-y2)^2)
return(euclid)
}
我正在寻找这个输出:
House long lat **Distance to X**
h 21 24 2.24
c 19 28 3
e 16 26 3.16
f 23 25 4
i 23 25 4
d 18 30 5.1
b 15 29 5.66
g 25 22 6.71
a 11 26 8.06
j 29 24 10.05
如何将公式循环到 long 和 lat 值?
【问题讨论】:
-
可能是
euclid(df$long,df$long[df$house=="x"],df$lat, df$lat[df$house=="x"])?
标签: r loops euclidean-distance