Si je voulais exclure certaines colonnes (Ozone
, Day
, Month
) qui obtiennent « réunis » Je peux faire cela:Hors plutôt que d'inclure recueillir variable en utilisant tidyr tidyeval
tidyr::gather(airquality, key, value, -Ozone, -Day, -Month)
Mais dans une fonction, il n'est pas clair pour moi comment faire cela. Cela semble maladroit si cela fonctionne:
my_gather <- function(col_to_compare) {
gather_cols = dplyr::setdiff(c("Ozone", "Solar.R","Wind","Temp"), col_to_compare)
tidyr::gather(airquality, key, value, !! rlang::enquo(gather_cols))
}
my_gather("Ozone")
Une idée comment exclure des colonnes d'une manière plus rigoureuse?
Note: Ceci est avec tidyr
0.7.0
Voulez-vous une fonction qui utilise les noms de colonnes comme cordes? Si c'est le cas, vous pourriez trouver '-one_of (cols_to_compare)' utile. – aosmith
Voulez-vous passer les colonnes comme quelque chose comme 'my_gather (Ozone)' plutôt que my_gather (-Ozone) '? Je pense que ce dernier est raisonnablement simple, le premier serait un peu plus compliqué. –
aosmith a raison de dire que 'one_of()' est la solution ici. – lionel