作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个简单的函数,它将使用 summarise_
和 group_by_
函数。我知道非标准评估存在问题,但我可以修复它。
library(dplyr)
test_function <- function(.data, ..., variable){
dots <- quote(mean(substitute(variable)))
group_by_(.data,.dots = lazyeval::lazy_dots(...)) %>%
summarise_(.dots = dots)
}
但是当我尝试这个时:
test_function(ggplot2::diamonds, cut, clarity, variable = price)
它不起作用。
谢谢
最佳答案
你的问题是你的quote()
。引用正在转义 substitute()
,因此它不会按照您希望的方式运行。如果您使用 bquote()
来代替,您可以计算替代值并将结果插入到表达式中以获得您想要的结果
test_function <- function(.data, ..., variable){
dots <- bquote(mean(.(substitute(variable))))
group_by_(.data,.dots = lazyeval::lazy_dots(...)) %>%
summarise_(.dots = dots)
}
test_function(diamonds, cut, clarity, variable = price)
# Source: local data frame [40 x 3]
# Groups: cut
#
# cut clarity mean(price)
# 1 Fair I1 3703.533
# 2 Fair SI2 5173.916
# 3 Fair SI1 4208.279
# 4 Fair VS2 4174.724
# 5 Fair VS1 4165.141
关于r - 在我自己的函数中使用 summarise_ 和 group_by_,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31752889/
我正在编写一个函数,要求用户在函数调用中定义一个或多个分组变量。然后使用 dplyr 对数据进行分组,如果只有一个分组变量,它会按预期工作,但我还没有想出如何使用多个分组变量进行分组。 例子: x %
我想创建一个简单的函数,它将使用 summarise_ 和 group_by_ 函数。我知道非标准评估存在问题,但我可以修复它。 library(dplyr) test_function %
我无法弄清楚 group_by_() 函数的基于下划线的函数是什么。 从 group_by 帮助: by_cyl <- group_by(mtcars, cyl) summarise(by_cyl,
我有一些代码将分组变量指定为字符串。 group_var % group_by_(group_var) %>% summarize(mean_mpg = mean(mpg)) 关于
我是一名优秀的程序员,十分优秀!