R 与Mapply抗争

R 与Mapply抗争,r,mapply,R,Mapply,所以我知道mapply将按元素顺序逐步遍历一个数组(或一系列数组)——我想知道是否有办法阻止它对某些参数执行此操作…。让我进一步解释 我有一组数据点,X和Y坐标为x1x2…Xn和Y1 Y2…Yn 我有一组中心,具有X和Y坐标……Cx1、Cx2、Cx3和Cy1、Cy2、Cy3 对于每个数据点,我想找出它最接近的“中心”(聚类匹配) 抱歉使用英语版的中心 我有一个工作函数,它取X坐标和Y坐标以及中心,计算出距离和最近的中心 assignCentre <- function (x1, y1, x

所以我知道mapply将按元素顺序逐步遍历一个数组(或一系列数组)——我想知道是否有办法阻止它对某些参数执行此操作…。让我进一步解释

我有一组数据点,X和Y坐标为x1x2…Xn和Y1 Y2…Yn 我有一组中心,具有X和Y坐标……Cx1、Cx2、Cx3和Cy1、Cy2、Cy3 对于每个数据点,我想找出它最接近的“中心”(聚类匹配) 抱歉使用英语版的中心

我有一个工作函数,它取X坐标和Y坐标以及中心,计算出距离和最近的中心

assignCentre <- function (x1, y1, xcentres, ycentres) {
  centredists <- mapply(pointDistance, x1, y1, xcentres, ycentres)
  nearcentre <- which(centredists == min(centredists))[1]
  return(list(nearcentre, centredists[nearcentre]))
} 

pointDistance <- function (x1, y1, x2, y2) {
  xdist <- (x2 - x1) ^ 2
  ydist <- (y2 - y1) ^ 2
  return(sqrt(xdist + ydist))
}

assigncenter如果不想迭代参数,请将它们粘贴在
MoreArgs=
参数中

mapply(assignCentre, x, y, 
    MoreArgs=list(xcentres=xcentres, ycentres=ycentres))