Напишите функцию R, которая вычисляет матрицу расстояний для набора точек до «i-й» точки. - PullRequest
0 голосов
/ 11 сентября 2018

Вот официальный вопрос:

"Напишите функцию R, которая вычисляет матрицу расстояний для набора точек. Ваша функция должна принимать в качестве аргументов два вектора пространственных координат X и Y любой длины, гдеXi и Yi - пространственные координаты i-й точки. Ваша функция должна вычислять евклидово расстояние по умолчанию, но должно позволять пользователям выбирать расстояние в Манхэттене или расстояние Чебышева. Продемонстрируйте свою функцию, рассчитав матрицу расстояний для указанного ниже набора точек.для каждой из трех мер расстояния (евклидова, манхэттенская, чебышевская) и включая матрицы расстояний в ответ doc / PDF. Не используйте функцию R dist () в своем решении. "

Теперь воткод, который у меня есть (на данный момент).Любой совет будет принята с благодарностью:

P = c(-5,-3,0,5,3,7)
Q = c(11,8,12,13,16,19)
StupidFunction = function(x,y,method) {
  distmatrix = matrix(data=NA, nrow=length(x), ncol=length(x))
  for(i in 1:nrow(distmatrix)){
    for(j in 1:ncol(distmatrix)){
      if(method == 1){
        return(sqrt(P[i] - P[i+1]^2 + (Q[i] - Q[i+1]^2))
      }
      else if(method == 2){
      ## Insert Manhattan Equation
      }
      else if(method == 3){
      ## Insert Chebyshev equation
      }
    }
  }
}
...