Напишите функцию R, которая вычисляет матрицу расстояний для набора точек до "i-й" точки.

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

"Напишите функцию 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
      }
    }
  }
}

0 ответов

Другие вопросы по тегам