R 最佳搜索,找到与其他点的距离之和最小的点

R 最佳搜索,找到与其他点的距离之和最小的点,r,optimization,solver,R,Optimization,Solver,我有k个点,我想找到离它们最近的(不同的)点(新点和给定点之间的距离之和最小) 在飞机上八点 如何编写一个程序,使我在n维空间中的k个给定点(例如,10维空间中的16个点)得到这样一个点 如何编写这样的求解器 但是,我不想使用ready函数,尽管我会接受这样的解决方案到其他点的距离之和最小的点称为这些点的空间中值,也称为。它可以由Weiszfeld算法导出,该算法在R包Gmedian中实现 让我们尝试一下您的示例: library(Gmedian) X <- rbind( c(3

我有k个点,我想找到离它们最近的(不同的)点(新点和给定点之间的距离之和最小)

在飞机上八点

如何编写一个程序,使我在n维空间中的k个给定点(例如,10维空间中的16个点)得到这样一个点

如何编写这样的求解器


但是,我不想使用ready函数,尽管我会接受这样的解决方案

到其他点的距离之和最小的点称为这些点的空间中值,也称为。它可以由Weiszfeld算法导出,该算法在R包
Gmedian
中实现

让我们尝试一下您的示例:

library(Gmedian)

X <- rbind(
  c(3, 4),
  c(5, 3),
  c(1, 8),
  c(4, 6),
  c(6, 6),
  c(0, 1),
  c(4, 6),
  c(2, 1)
)

W <- Weiszfeld(X)
以下是获得距离总和的方法:

smedian <- c(W$median)
sum(
  apply(X, 1, function(x){
    sqrt(crossprod(x-smedian))
  })
)
# 21.95253

smedian请展示您迄今为止所做的工作。这个平台是为了帮助你,而不是解决你的问题,所以你可以复制粘贴它。@main.c我试图使用“lpSolve”和“optim”函数,但我的技能仍然太小,我无法编写一个工作函数@Stéphane Laurent非常感谢你
smedian <- c(W$median)
sum(
  apply(X, 1, function(x){
    sqrt(crossprod(x-smedian))
  })
)
# 21.95253