The Usage docs currently show
group_map(.data, .f, ..., .keep = FALSE) group_modify(.data, .f, ..., .keep = FALSE) group_walk(.data, .f, ...)
and the group_walk() method doesn't have .keep, making you think group_walk() doesn't support .keep, but it does:
mtcars %>% group_by(vs) %>% group_walk(~print(head(.x, n = 1)), .keep = TRUE) #> # A tibble: 1 × 11 #> mpg cyl disp hp drat wt qsec vs am gear carb #> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 21 6 160 110 3.9 2.62 16.5 0 1 4 4 #> # A tibble: 1 × 11 #> mpg cyl disp hp drat wt qsec vs am gear carb #> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1 mtcars %>% group_by(vs) %>% group_walk(~print(head(.x, n = 1)), .keep = FALSE) #> # A tibble: 1 × 10 #> mpg cyl disp hp drat wt qsec am gear carb #> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 21 6 160 110 3.9 2.62 16.5 1 4 4 #> # A tibble: 1 × 10 #> mpg cyl disp hp drat wt qsec am gear carb #> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 22.8 4 108 93 3.85 2.32 18.6 1 4 1
So group_walk() should gain a .keep arg explicitly