在 tidyr::complete 中,我必须输入变量名称,如何避免?实际上,变量有很多,一一输入很无聊...有人可以帮忙吗?谢谢!
library(tidyverse)
raw_df <- data.frame(cat=c('A','B','C'),sub_category=c('1','2','3'))
输入变量名,代码运行良好
raw_df %>% tidyr::complete(cat,sub_category)
下面的代码无法工作——我希望的输入方式
raw_df %>% tidyr::complete()
稍微不同的方法是使用
expand_grid
并通过匿名函数传入使用 !!!
解包的数据帧的所有列。这可行,但其他人可能有更简单的建议方法!
library(tidyverse)
raw_df <- data.frame(cat=c('A','B','C'),sub_category=c('1','2','3'))
raw_df |>
(\(df) expand_grid(!!!df))()
#> # A tibble: 9 × 2
#> cat sub_category
#> <chr> <chr>
#> 1 A 1
#> 2 A 2
#> 3 A 3
#> 4 B 1
#> 5 B 2
#> 6 B 3
#> 7 C 1
#> 8 C 2
#> 9 C 3