小编Rai*_*lde的帖子

使用字符串作为输入使用dplyr进行编程

我想写一个使用dplyr的函数,我提供变量名作为字符串.不幸的是,dplyr-s使用NSE使它变得相当复杂.从使用dplyr编程我得到以下示例

my_summarise <- function(df, var) {
  var <- enquo(var)

  df %>%
    group_by(!!var) %>%
    summarise(a = mean(a))
}

my_summarise(df, g1)
Run Code Online (Sandbox Code Playgroud)

但是,我想编写功能而不是g1我能提供的功能,"g1"而且我无法解决如何做到这一点.

r dplyr

13
推荐指数
1
解决办法
1251
查看次数

在 tidyverse 中打印中间结果而不破坏管道

是否有一个命令可以添加到 tidyverse 管道中,该命令不会中断流程,但会产生一些副作用,例如打印出来的东西。我想到的用例是这样的。如果是管道

data %>%
  mutate(new_var = <some time consuming operation>) %>%
  mutate(new_var2 = <some other time consuming operation>) %>%
  ...
Run Code Online (Sandbox Code Playgroud)

我想向管道添加一些不会修改最终结果的命令,但会打印出一些进度或事情的状态。也许是这样的:

data %>%
  mutate(new_var = <some time consuming operation>) %>%
  command_x(print("first operation done")) %>%
  mutate(new_var2 = <some other time consuming operation>) %>%
  ...
Run Code Online (Sandbox Code Playgroud)

command_x已经存在这样的吗?

r dplyr tidyverse

7
推荐指数
3
解决办法
1560
查看次数

标签 统计

dplyr ×2

r ×2

tidyverse ×1