0
votes

Niveaux de négation pour fct_collapse

J'ai une liste plus petite de niveaux qui ne devraient pas être effondrés ("Alberta", "Colombie-Britannique", "Ontario", "Québec") que celles qui devraient (tout le reste). Je n'ai pas pu annuler les niveaux (code comme exemple de l'objectif) pour fct_collapse (tous sauf les suivants). Aucune suggestion?

df $ `groupe de province`% <>% fct_collapse (province de DF $,` petites provinces` =! C ("Alberta", "Colombie-Britannique", "Ontario", "Québec"))


0 commentaires

3 Réponses :


1
votes

Je suis un peu confus par une partie de la syntaxe que vous utilisez ici, mais cette solution devrait fonctionner pour vous! Il utilise la structure de tuyauterie de DLYRR et des traits de soulignement au lieu d'espaces dans des noms variables (nom variable plutôt que `nom de variable`) xxx

si" provinces "est une variable de facteur, vous devez convertir à une variable de caractère d'abord.

ps Bonjour de Québec


0 commentaires

0
votes

Voici une solution avec niveaux code> pour obtenir les niveaux du facteur. Ensuite, le sous-ensemble Les valeurs à ne pas être effondrées sont effectuées en négociant % en% code>.

Premier recréer le Set de données dans l'utilisateur @ r Me Matyy la réponse de la réponse. p> xxx pré>

maintenant la question. p>

big_provinces <- c("Alberta", "British Columbia", "Ontario", "Quebec")

df %<>%
  mutate(Province = fct_collapse(Province, `Smaller provinces` = levels(Province)[!levels(Province) %in% big_provinces]))

df
## A tibble: 70 x 1
#   Province         
#   <fct>            
# 1 Ontario          
# 2 Alberta          
# 3 Quebec           
# 4 British Columbia 
# 5 Smaller provinces
# 6 Smaller provinces
# 7 Smaller provinces
# 8 Ontario          
# 9 Alberta          
#10 Quebec           
## ... with 60 more rows


0 commentaires

1
votes

fct_lump était la meilleure solution pour ce problème (seulement parce que la logique du question était de nier les 4 grandes provinces). Si quelqu'un trouve une solution plus courte que Rui Barradas, je serais toujours intéressé par le travail de facteur futur.

df%>%
  mutate(`Compared to smaller provinces` = fct_lump(Province, n = 4)) %>%
  count(`Compared to smaller provinces`)


0 commentaires