Применение функции в зависимости от ID группы - PullRequest
0 голосов
/ 27 января 2020

Я хотел бы применить функцию, которая будет вычислять значение .dist (расстояние) между деревьями (id), но сгруппированы по тому же значению plot_id. В этом случае функция будет рассчитывать только отношения между деревьями (id) из одного и того же графика (plot_id).

search_dfixed <- function(id, x, y, dist)
 {  .class <- if (class(id) == "factor") {
"character"  } else {    class(id) } 

m <- as.matrix(dist(data.frame(x, y)))

rownames(m) <- id; colnames(m) <- id 

z <- as.data.frame(m) %>%
tibble::as_tibble() %>%
dplyr::mutate(id = id) %>%
tidyr::gather(competitor, .dist, -id) %>%
dplyr::filter(
  .dist != 0,
  .dist <= dist
) %>%
dplyr::arrange(id, .dist) %>%
dplyr::mutate(
  id = 'class<-'(id, .class),
  competitor = 'class<-'(competitor, .class)
)
  return(z)
}

... где id = tree_id, x и y - пространственные координаты (в метрах, десятичных числах) ) и dist = расстояние между каждым tree_id).

Как лучше всего изменить функцию, чтобы сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...