R

Manipulation de données : quelques mini-fonctions

Divers

Les fonctions na.rm et rm.unused.levels sont maintenant disponibles dans le package questionr (à partir de la version 0.3.0).

Deux petites fonctions pour manipuler un tableau de données sous R.

Suppression des valeurs manquantes

  1. na.rm <- function(x, v=NULL)
  2. {
  3.   if (!is.data.frame(x)) x <- as.data.frame(x)
  4.   # Les variables a traiter sont specifiees ?
  5.   if (is.null(v))
  6.     v <- names(x)
  7.   # Pour chaque variable specifie, suppression des observations si NA
  8.   r <- x[complete.cases(x[v]),]
  9.   return(r)
  10. }

Télécharger

na.rm est similaire à na.omit sauf qu’il est possible de spécifier les variables à prendre en compte.

Suppression des modalités inutilisées d’un facteur

  1. rm.unused.levels <- function(x, v=NULL)
  2. {
  3.   if (!is.data.frame(x)) x <- as.data.frame(x)
  4.   # Les variables a traiter sont specifiees ?
  5.   if (is.null(v))
  6.     v <- names(x)
  7.   # Pour chaque variable de type facteur, supression des levels inutilisés
  8.   for (i in 1:length(x)) {
  9.     if (is.factor(x[[i]]) & names(x)[i] %in% v)
  10.       x[[i]] <- factor(x[[i]])
  11.   }
  12.   return(x)
  13. }

Télécharger

Il arrive parfois que l’on ait des facteurs avec des modalités non utilisées, par exemple après importation d’un fichier d’enquête ou après sélection d’un sous-échantillon. rm.unused.levels permet de ne conserver que les modalités d’un facteur attribuées à au moins une observation.