Я углубился во всю экосистему тививерса (чуть-чуть), и мне было интересно, как решить следующую проблему с ней.
В общем, мне было интересно, как написать пользовательские функции в transmute, которые работают со строками (зацикливается)
Моя проблема: я хотел бы вычислить метрику расстояния между последней строкой моего набора данных и всеми другими строками. После этого я хотел бы добавить вектор с метриками расстояния к моим данным.
Вот минимально воспроизводимый пример того, что я пытаюсь сделать без обратной связи
data(iris)
mydata <- iris[, -5]
mydata$distance <- sapply(1:nrow(mydata), function(j){
dist(rbind(mydata[nrow(mydata), ], mydata[j, ]))})
Это работает и дает мне то, что мне нужно.
Однако моя попытка найти решение провалилась, и я бился головой об этой проблеме - был бы признателен за помощь!
mydata <- select(iris, -Species)
mydata %>% transmute(function(x){
for (i in 1:nrow(x)) {
dist(rbind(x[i, ],x[nrow(x), ]))
}
})
Большое спасибо!