我正在尝试构建一个函数,允许我对以特定前缀开头的列执行函数。 我正在努力弄清楚如何使名称计算正确。
我查看了
我正在使用 CRAN 上最新版本的
我查看了
dplyr
网站上关于 编程 的内容,但无法完全弄清楚如何使其正确计算。我正在使用 CRAN 上最新版本的
dplyr
(v0.70),其中 @hadley 引入了 tidyeval
重现代码library(tidyverse)
tbl1 <- tibble(
urn = c(1 ,2 ,3 ),
a_width = c(10,20,30),
a_height = c(12,13,14),
b_width = c(25,50,75),
b_height = c(25,50,75)
)
my_mean <- function(x, group) {
width <- paste0(quo_name(group), "_width")
height <- paste0(quo_name(group), "_height")
summarise(x,
!!paste0(group, "_mean_width") := mean(!!width),
!!paste0(group, "_mean_height") := mean(!!height)
)
}
my_mean(tbl1, "a")
# # A tibble: 1 x 2
# a_mean_width a_mean_height
# <dbl> <dbl>
# 1 NA NA
# Warning messages:
# 1: In mean.default("a_width") :
# argument is not numeric or logical: returning NA
# 2: In mean.default("a_height") :
# argument is not numeric or logical: returning NA
summarise
命令中漏掉了一个逗号。 - amarchin