在点对之间创建距离函数

Create distance function between pairs of points

提问人:Andreas 提问时间:10/26/2023 最后编辑:user20650Andreas 更新时间:10/26/2023 访问量:42

问:

我想创建一个函数,它接受两对数字并计算它们之间的距离。p1 = (x1, y1)p2 = (x2, y2)

我不明白的是,当涉及到数字对时,如何定义函数的参数。这是我尝试过的,但它不起作用。

Distance <- function (p1=c(x1, y1), p2=c(x2, y2)

我很确定我错过了一些非常基本的东西,但我已经尝试过:

Distance <- function (p1=c(x1, y1), p2=c(x2, y2){
    return(sqrt(x2-x1)ˆ2 +(y2-y1)ˆ2 )
}

主要是函数的论点,我不能工作,因为它是一对数字。

R 矩阵 距离

评论

1赞 Allan Cameron 10/26/2023
你可以做Distance <- function(p1, p2) sqrt((p1[1] - p2[1])^2 + (p1[2] - p2[2])^2)
0赞 Andreas 10/26/2023
当我尝试编写函数时,它说“x2 不是一个对象”
0赞 Allan Cameron 10/26/2023
我的函数中没有 x2。只需将我的函数复制粘贴到您的控制台中即可。然后运行 .它将正确返回Distance(c(0, 0), c(3, 4))5
2赞 Rui Barradas 10/26/2023
@AllanCameron说的是,你的函数没有参数 x1、x2、y1、y2。它的参数是 p1 和 p2。

答: 暂无答案