(в настоящее время я использую версию dplyr 1.0.0 для разработки)
При использовании dplyr 1.0.0 across()
должен заменять все глаголы области действия. Но когда я пытаюсь использовать функцию в стиле purrr с select()
, как вы можете с select_if()
, это выдает ошибку, и единственный найденный мной обходной путь - использовать замененное select_if()
.
В документации scoped select_all теперь говорится, что "select_if () и rename_if () уже используют аккуратный выбор, поэтому их нельзя заменить на cross (), и вместо этого нам нужна новая функция."
Любой совет? Заранее благодарим!
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
df <- tibble(x = c(1,2,3), y = c(4,5,NA),
z = c(NA, NA, NA), a = c("1", "2", "3"))
select(df, is.numeric | contains("a"))
#> # A tibble: 3 x 3
#> x y a
#> <dbl> <dbl> <chr>
#> 1 1 4 1
#> 2 2 5 2
#> 3 3 NA 3
select(df, ~!all(is.na(.)))
#> Error: Must subset columns with a valid subscript vector.
#> x Subscript has the wrong type `formula`.
#> ℹ It must be numeric or character.
select_if(df, ~!all(is.na(.)))
#> # A tibble: 3 x 3
#> x y a
#> <dbl> <dbl> <chr>
#> 1 1 4 1
#> 2 2 5 2
#> 3 3 NA 3
Создано в 2020-04-17 пакетом представительство (v0.3.0)