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 :

fusion de colonnes


Sujet :

R

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 11
    Points
    11
    Par défaut fusion de colonnes
    Bonjour,

    Je dois fusionner 4 colonnes dans un tableau de données.

    Mes 2 premières colonnes sont des coordonnées et les 2 suivantes sont des jours et mois.

    J'ai eu plusieurs essais infructueux avec différentes fonctions qui par exemple ne prennent pas en compte les variables quali ou bien additionnent les 2 premières colonnes.

    Je vous mets les 8 1ières lignes de mon dataset pour visualiser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     X.Y.month.day.FFMC.DMC.DC.ISI.temp.RH.wind.rain.area
    1             7,5,mar,fri,86.2,26.2,94.3,5.1,8.2,51,6.7,0,0
    2             7,4,oct,tue,90.6,35.4,669.1,6.7,18,33,0.9,0,0
    3           7,4,oct,sat,90.6,43.7,686.9,6.7,14.6,33,1.3,0,0
    4               8,6,mar,fri,91.7,33.3,77.5,9,8.3,97,4,0.2,0
    5           8,6,mar,sun,89.3,51.3,102.2,9.6,11.4,99,1.8,0,0
    6            8,6,aug,sun,92.3,85.3,488,14.7,22.2,29,5.4,0,0
    7           8,6,aug,mon,92.3,88.9,495.6,8.5,24.1,27,3.1,0,0
    8            8,6,aug,mon,91.5,145.4,608.2,10.7,8,86,2.2,0,0
    Merci,

    Alban.

  2. #2
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Bonjour,

    Citation Envoyé par nanopriso Voir le message
    Je dois fusionner 4 colonnes dans un tableau de données.
    Personnellement, je n'ai pas bien compris ce que vous souhaitez faire : concaténer les données des 4 premières colonnes ensemble ? créer un vecteur/une colonne avec les éléments des 4 premières colonnes à la suite ? Autre chose ?


    Cordialement,

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Plus précisément, je souhaite rassembler les informations contenues dans les 4 premières colonnes en une seule colonne.

    Imaginons qu'on le fasse avec un séparateur "/", ça donnerait pour les 2 premières lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      X Y month day.FFMC.DMC.DC.ISI.temp.RH.wind.rain.area
    1             7/5/mar/fri,86.2,26.2,94.3,5.1,8.2,51,6.7,0,0
    2             7/4/oct/tue,90.6,35.4,669.1,6.7,18,33,0.9,0,0
    Peu importe le nom de la nouvelle colonne créée. Il faut juste qu'elle regroupe les données des 4 premières colonnes.

    Alban.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 339
    Points
    339
    Par défaut
    Hello,
    Voici une proposition de solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    > df <- data.frame(c1=c(1,2,3,4),c2=c("a","b","c","d"),c3=c(6,7,8,9),c4=c("w","x","y","z"),c5=c("aaaa","bbbb","cccc","dddd"))
    > df
      c1 c2 c3 c4   c5
    1  1  a  6  w aaaa
    2  2  b  7  x bbbb
    3  3  c  8  y cccc
    4  4  d  9  z dddd
    > df2 <- data.frame(newCol=paste(df$c1,df$c2,df$c3,df$c4,sep="/"),c5=df$c5)
    > df2
       newCol   c5
    1 1/a/6/w aaaa
    2 2/b/7/x bbbb
    3 3/c/8/y cccc
    4 4/d/9/z dddd
    A++

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Merci de votre aide hoccha. On y est presque mais ce n'est pas tout à fait ça. J'aurais dû le préciser mais j'ai 517 lignes dans mon data.

    Donc pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df <- data.frame(c1=c(1,2,3,4),c2=c("a","b","c","d"),c3=c(6,7,8,9),c4=c("w","x","y","z"),c5=c("aaaa","bbbb","cccc","dddd"))
    , comment concaténer les 517 lignes dans le vecteur ? J'ai essayé quelques manipulations, notamment avec cbind, mais ça ne semble pas efficace.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Points : 339
    Points
    339
    Par défaut
    Hello,
    Je suis désolé mais je ne comprends pas bien la question .
    Dans mon data.frame (df), ll y a 4 lignes et 5 colonnes; ensuite (dans df2), je groupe les colonnes 1 à 4 pour former une nouvelle colonne (newCol).
    Si vos données sont dans un data.frame avec une colonne par variable alors ce type de code devrait aussi fonctionner avec 517 lignes.
    A++

  7. #7
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    nanopriso, la ligne de code df <- data.frame(c1=c(1,2,3,4),c2=c("a","b","c","d"),c3=c(6,7,8,9),c4=c("w","x","y","z"),c5=c("aaaa","bbbb","cccc","dddd")) donnée par hoccha sert juste à créer un dataframe "df" qui sert d'exemple (ainsi son code est reproductible par tout le monde).

    Dans votre cas, vous n'avez qu'à appliquer la commande df2 <- data.frame(newCol=paste(df$c1,df$c2,df$c3,df$c4,sep="/"),c5=df$c5) en remplaçant "df" par le nom de votre dataframe et "c1", "c2", etc, par les noms de votre 1ère, 2nde, etc, colonne.

    Bonne continuation


    Cordialement,

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Ça marche merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Désactivation de colonnes ou fusion par colonnes
    Par woodreamz dans le forum Réplications
    Réponses: 2
    Dernier message: 29/06/2009, 17h38
  2. DataGridView "fusion" de colonnes
    Par p1k1 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 04/08/2008, 11h43
  3. Fusion de colonnes
    Par Tontorise dans le forum Langage SQL
    Réponses: 1
    Dernier message: 19/07/2007, 17h05
  4. Fusion de colonnes (ou lignes) de deux tableaux
    Par ceaser dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/07/2007, 07h43
  5. [ORACLE 8.1.7.4] - Fusion de colonne ?
    Par jacquesh dans le forum Administration
    Réponses: 9
    Dernier message: 13/11/2006, 21h59

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