Я пишу программу, которая вычисляет разницу между элементом набора данных и остальными элементами. Я использую dplyr mutate и мне нужно передать всю строку в качестве аргумента функции, которая вычисляет разницу. Используя ирис в качестве примера:
#Difference function
diff_func <- function (e1, e2) {
return(sum(e1-e2))
}
chosenElement <- iris[1,1:4] # Chosen element
elements <- iris[10:50,1:4] # Elements to compare to
elements %>%
rowwise() %>%
mutate(difference=diff_func(chosenElement, c(Petal.Width, Petal.Length, Sepal.Width, Sepal.Length)))
Это работает, но, поскольку я использую всю строку, я бы хотел использовать что-то вроде «this» или «row» вместо указания всех столбцов строки:
elements %>%
rowwise() %>%
mutate(difference=diff_func(chosenElement, row))
Кто-нибудь знает, можно ли это сделать?