Skip to content
Astuces et scripts R
Primary Navigation Menu
Menu
  • Abcd’R
  • Tous les scripts
    • Voir les articles
    • Proposer un Article
  • Documentation
  • Formation au logiciel R
  • Contact
  • Liste des interfaces graphiques

Les formations ThinkR à distance sont gratuites pour les salariés à temps partiel

COVID 19 – L’état renforce le dispositif FNE-formation : les coûts pédagogiques sont pris en charge à 100% pour les salariés en activité partielle. Contactez-nous pour en savoir plus.

Voir nos formations

Comment calculer le nombre de données manquantes par lignes

Par vincent
Le janvier 30, 2019
Dans manipulation de données, tidyverse
Tagged na, nettoyage
Avec 0 Commentaire

Plusieurs façon de faire, à vous de choisir celle qui vous plait le plus 🙂

Fabriquons un petit jeu de données auquel nous souhaitons ajouter une colonne contenant le nombre ne NA sur chacune des lignes.

library(tidyverse)
dataset <- tribble(~a,~b,~c,
        1,NA,NA,
        NA,NA,NA,
        1,2,3,
        NA,3,NA
)

A l’ancienne

dataset$nb <- apply(dataset, MARGIN = 1, function(x){sum(is.na(x))})

avec du pmap et du mutate

dataset %>% mutate(nb = pmap(.,function(a,b,c){sum(is.na(a),is.na(b),is.na(c))}),
             nb= unlist(nb))

Mais c’est dommage de devoir spécifier a, b et c.

donc simplifions :

dataset %>% 
  mutate(nb = pmap_dbl(., function(...){sum(is.na(c(...)))}))

Cela reste à mon goût un peu trop verbeux

Avec rowSums

dataset %>% mutate(nb = rowSums(is.na(.)))

ça c’est propre et efficace

En utilisant le package {naniar} (coucou @colin ) (qui habille rowSums)

dataset %>% naniar::add_n_miss()

En espérant que cela vous soit utile.

2019-01-30
Article précédent: Comment supprimer les NA (valeurs manquantes) dans R avec dplyr ?
Article suivant: Comment lire un fichier shp (shapefile) avec {sf} dans R ?

Formation et consultance

Trouvez votre formation R sur-mesure chez ThinkR

-- Contactez-nous --

Catégories

Commentaires récents

  • Lou Sayd dans Coment alculer simplement la SEM dans R ? (Erreur Standard)
  • Nicolas dans Comment remplacer une chaîne de caractères ? string_replace_all(df, "pattern","replacement")
  • Vincent dans Comment comparer deux moyennes avec R grâce au test de Student ? t.test
  • CHOUIEB dans Comment supprimer une colonne ou un ligne d’un data.frame ?
  • Nraot dans Comment comparer deux moyennes avec R grâce au test de Student ? t.test

Archives

Plan

  • Abcd’R
  • Tous les scripts
    • Proposer un Article
  • Ressources documentaires
    • Le logiciel R
    • Liste des interfaces graphiques
  • Formation au logiciel R
  • Contact
  • Politique de confidentialité

RSS ThinkR – Certification & Formation langage R

  • Comment créer des fonctions dans le tidyverse avec la tidyeval et le {{stash stash}}
  • Contrôle et gestion des erreurs dans R
  • C’est quoi, le tidyverse ?
  • La nouvelle version RStudio 1.4 que l’on attendait tant
  • Débuter avec R et RStudio

Méta

  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

ABCD'R (par ThinkR ) © 2021 - Confidentialité