相关疑难解决方法(0)

dplyr:如何在函数中使用group_by?

我想dplyr::group_by在另一个函数中使用函数,但我不知道如何将参数传递给这个函数.

有人能提供一个有效的例子吗?

library(dplyr)
data(iris)
iris %.% group_by(Species) %.% summarise(n = n()) # 
## Source: local data frame [3 x 2]
##      Species  n
## 1  virginica 50
## 2 versicolor 50
## 3     setosa 50

mytable0 <- function(x, ...) x %.% group_by(...) %.% summarise(n = n())
mytable0(iris, "Species") # OK
## Source: local data frame [3 x 2]
##      Species  n
## 1  virginica 50
## 2 versicolor 50
## 3     setosa 50

mytable1 <- function(x, key) x …
Run Code Online (Sandbox Code Playgroud)

r dplyr nse tidyeval

43
推荐指数
3
解决办法
2万
查看次数

没有``aes_string()''的ggplot2的标准评估

我想将带引号的字符串传递给调用ggplot2的函数。

library(magrittr); library(ggplot2)
g1 <- function( variable ) {
  ggplot(mtcars, aes_string("wt", variable, size="carb")) +
    geom_point()
}
g1("mpg")
Run Code Online (Sandbox Code Playgroud)

这很好用,但是v3.1.0文档提倡准引用和NSE aes()

所有这些功能均已弃用。请改用整洁的评估习惯用法(请参阅aes()文档中的准引用部分)。

但是这些aes()示例使用NSE(g1(mpg)而不是g1("mpg"))。同样,这些SO解决方案使用NSE值或aes_()/ aes_string()

我希望该函数接受SE /引号字符串,以容纳字符向量,例如:

variables <- c("mpg", "cyl", "disp")
variables %>% 
  lapply(g1)
Run Code Online (Sandbox Code Playgroud)

r ggplot2 standard-evaluation

4
推荐指数
1
解决办法
166
查看次数

标签 统计

r ×2

dplyr ×1

ggplot2 ×1

nse ×1

standard-evaluation ×1

tidyeval ×1