IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Remplacer des valeurs dans des colonnes R


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Février 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 2
    Par défaut Remplacer des valeurs dans des colonnes R
    Bonjour, je vous explique mon problème j'ai un dataframe constitué de plusieurs variables ( colonnes ) qui ont le même nom (var1, var2, var3 etc..) et j'aimerais changer les valeurs à l'intérieur des colonnes de sorte à ce que les valeurs quantitatives deviennent des valeurs qualitatives (exemple : 0 devient maison) mais je ne vois pas comment faire, si vous voulez bien m'aider ce serait gentil merci.

  2. #2
    Membre Expert
    Inscrit en
    Novembre 2009
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 707
    Par défaut factor, levels, labels
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    df <- data.frame(V1=c(4,2,1,2,1))
    test$V1_label <- factor(df$V1, levels=c(1,2,4), labels=c("Rouge", "Vert", "Bleu"))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    > df
      V1 V1_label
    1  4     Bleu
    2  2     Vert
    3  1    Rouge
    4  2     Vert
    5  1    Rouge
    Cordialement,

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    etudiant
    Inscrit en
    Février 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 2
    Par défaut Remplacer des valeurs dans des colonnes R
    merci à vous, votre réponse m'a beaucoup aidé, cependant cela marche uniquement pour une colonne et je dois faire cela pour toutes les autres colonnes appelées "var2", "var3", "var4" etc.. jusqu'à "var54", il y aurait-il la possibilité de faire une boucle ? merci pour votre réponse.

  4. #4
    Membre Expert
    Inscrit en
    Novembre 2009
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 707
    Par défaut Appliquer une fonction à toutes les variables d'un dataframe
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    df <- data.frame(V1=c(4,2,1,2,1),
                     V2=c(4,4,4,5,5))
    formatage <- function(var){factor(var, levels=c(1,2,4,5), labels=c("Rouge", "Vert", "Bleu", "Jaune"))}
    df1 <- apply(df,2,formatage)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    > df1
         V1      V2     
    [1,] "Bleu"  "Bleu" 
    [2,] "Vert"  "Bleu" 
    [3,] "Rouge" "Bleu" 
    [4,] "Vert"  "Jaune"
    [5,] "Rouge" "Jaune"
    Pour conserver les variables initiales :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    colnames(df1)=paste(colnames(df1),'label',sep="_")
    df=cbind(df,df1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    > df
      V1 V2 V1_label V2_label
    1  4  4     Bleu     Bleu
    2  2  4     Vert     Bleu
    3  1  4    Rouge     Bleu
    4  2  5     Vert    Jaune
    5  1  5    Rouge    Jaune
    Cordialement,

  5. #5
    Membre émérite
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Par défaut
    La solution de mgdondon est parfaitement valable. Cependant, elle n'est pas la moins couteuse en ressources, apply étant une fonction assez complexe. L'utilisation de sapply est plus performante car elle tient compte du fait que les data.frame sont des listes particulières. A noter que la solution avec apply ou celle ci-dessous avec sapply renvoient des matrices de chaines de caractères.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df2 <- sapply( df, formatage)
    Si tu veux un data.frame de facteurs, la solution est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df3 <- as.data.frame( lapply( df, formatage))

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/01/2018, 14h06
  2. Réponses: 0
    Dernier message: 09/07/2011, 21h52
  3. Réponses: 5
    Dernier message: 12/07/2010, 14h45
  4. Remplace une valeur dans une colonne
    Par roger34 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/06/2007, 22h44
  5. insertion des valeurs dans une colonne
    Par freestyler1982 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 24/01/2007, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo