Dplyr,使用标准评估进行变异,并使用列名称作为参数

时间:2016-03-01 14:43:13

标签: r dplyr

我有以下功能,我希望通过标准评估传递给mutate。但是,我无法想象如何从中构建公式。

library(dplyr)
library(lazyeval)

# Define custom function
.dist <- function(x, y) {
  d <- sqrt(sum((x - y)^2))
  return(d)
}

# NSE example
iris %>%
  rowwise() %>%
  mutate(newVar = .dist(c(Petal.Width, Petal.Length), c(Sepal.Width, Sepal.Length))) %>%
  tbl_df()

# SE attempt
iris %>%
  rowwise() %>%
  mutate_(newVar = interp(~.dist(x, y),
                          x = c(as.name('Petal.Width'), as.name('Petal.Length')),
                          y = c(as.name('Sepal.Width'), as.name('Sepal.Length')))) %>%
  tbl_df()

0 个答案:

没有答案