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 :

Transformer un fichier individu en colonne vers individu en ligne


Sujet :

R

  1. #1
    Candidat au Club
    Femme Profil pro
    Doctorante
    Inscrit en
    Février 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Doctorante
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2017
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Transformer un fichier individu en colonne vers individu en ligne
    Bonjour ,

    Je travail sur un fichier excel, mais que je vais basculer sous R pour des analyses, où mes individus sont en colonnes et je voudrais les mettre en lignes sachant que pour 1 individu j'ai plusieurs données qui correspondent à des tranches de 2 min d'observations ... J'ai 6 fichiers avec plus de 200 individus chacun et j'aimerai une solution pour ne pas avoir à les copier-coller à la main les uns en dessous des autres ...
    Je vous mets une petite photo du avant et ce que j'aimerai obtenir.

    En vous remerciant par avance pour votre aide précieuse,

    Alexia

    Nom : Capture.PNG
Affichages : 320
Taille : 70,0 Ko

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Transposition de fichier
    Bonjour,

    Je vous propose le programme ci-dessous. Je joins aussi un fichier test.txt au format csv pour tester le programme.

    Il faut transposer votre fichier par partie et merger les résultats.

    Import du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    > df <- read.csv("D:/temp/test.txt",header=FALSE)
    > df
             V1         V2         V3
    1      date 17/04/2016 18/04/2016
    2       lif          2          2
    3        ch         70      30246
    4       exp       1605       1605
    5       ttt        TA7       TA11
    6  08:48:00          2          0
    7  08:50:00          2          0
    8  08:52:00          2          0
    9  08:54:00          0          0
    10 08:56:00          2          0
    11 08:58:00          2          0
    12 09:00:00          2          0
    13 09:02:00          2          0
    14 09:04:00          2          0
    15 09:06:00          2          0
    16 09:08:00          2          0
    17 09:10:00          2          0
    18 09:12:00          0          0
    19 09:14:00          0          0
    20 09:16:00          0          2
    21 09:18:00          0          2
    22 09:20:00          2          2
    23 09:22:00          2          2
    24 09:24:00          2          2
    Partie 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    > df1 <- df[1:5,]
    > names_df1 <- as.vector(t(df1$V1))
    > df1 <- as.data.frame(t(df1[,-1]))
    > names(df1)=names_df1
    > df1
             date lif    ch  exp  ttt
    V2 17/04/2016   2    70 1605  TA7
    V3 18/04/2016   2 30246 1605 TA11
    Partie 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    > df2 <- df[-(1:5),]
    > names(df2) <- c('heure',as.vector(t(df1$date)))
    > library(reshape)
    Warning message:
    package ‘reshape’ was built under R version 3.2.5 
    > df2 <- melt(df2,id.vars='heure',variable_name='date')
    > names(df2)[3] <- 'ingestion'
    > df2
          heure       date ingestion
    1  08:48:00 17/04/2016         2
    2  08:50:00 17/04/2016         2
    3  08:52:00 17/04/2016         2
    4  08:54:00 17/04/2016         0
    5  08:56:00 17/04/2016         2
    6  08:58:00 17/04/2016         2
    7  09:00:00 17/04/2016         2
    8  09:02:00 17/04/2016         2
    9  09:04:00 17/04/2016         2
    10 09:06:00 17/04/2016         2
    11 09:08:00 17/04/2016         2
    12 09:10:00 17/04/2016         2
    13 09:12:00 17/04/2016         0
    14 09:14:00 17/04/2016         0
    15 09:16:00 17/04/2016         0
    16 09:18:00 17/04/2016         0
    17 09:20:00 17/04/2016         2
    18 09:22:00 17/04/2016         2
    19 09:24:00 17/04/2016         2
    20 08:48:00 18/04/2016         0
    21 08:50:00 18/04/2016         0
    22 08:52:00 18/04/2016         0
    23 08:54:00 18/04/2016         0
    24 08:56:00 18/04/2016         0
    25 08:58:00 18/04/2016         0
    26 09:00:00 18/04/2016         0
    27 09:02:00 18/04/2016         0
    28 09:04:00 18/04/2016         0
    29 09:06:00 18/04/2016         0
    30 09:08:00 18/04/2016         0
    31 09:10:00 18/04/2016         0
    32 09:12:00 18/04/2016         0
    33 09:14:00 18/04/2016         0
    34 09:16:00 18/04/2016         2
    35 09:18:00 18/04/2016         2
    36 09:20:00 18/04/2016         2
    37 09:22:00 18/04/2016         2
    38 09:24:00 18/04/2016         2
    Merge :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    > dftot <- merge(df1,df2,by='date')
    > dftot
             date lif    ch  exp  ttt    heure ingestion
    1  17/04/2016   2    70 1605  TA7 08:48:00         2
    2  17/04/2016   2    70 1605  TA7 08:50:00         2
    3  17/04/2016   2    70 1605  TA7 08:52:00         2
    4  17/04/2016   2    70 1605  TA7 08:54:00         0
    5  17/04/2016   2    70 1605  TA7 08:56:00         2
    6  17/04/2016   2    70 1605  TA7 08:58:00         2
    7  17/04/2016   2    70 1605  TA7 09:00:00         2
    8  17/04/2016   2    70 1605  TA7 09:02:00         2
    9  17/04/2016   2    70 1605  TA7 09:04:00         2
    10 17/04/2016   2    70 1605  TA7 09:06:00         2
    11 17/04/2016   2    70 1605  TA7 09:08:00         2
    12 17/04/2016   2    70 1605  TA7 09:10:00         2
    13 17/04/2016   2    70 1605  TA7 09:12:00         0
    14 17/04/2016   2    70 1605  TA7 09:14:00         0
    15 17/04/2016   2    70 1605  TA7 09:16:00         0
    16 17/04/2016   2    70 1605  TA7 09:18:00         0
    17 17/04/2016   2    70 1605  TA7 09:20:00         2
    18 17/04/2016   2    70 1605  TA7 09:22:00         2
    19 17/04/2016   2    70 1605  TA7 09:24:00         2
    20 18/04/2016   2 30246 1605 TA11 08:48:00         0
    21 18/04/2016   2 30246 1605 TA11 08:50:00         0
    22 18/04/2016   2 30246 1605 TA11 08:52:00         0
    23 18/04/2016   2 30246 1605 TA11 08:54:00         0
    24 18/04/2016   2 30246 1605 TA11 08:56:00         0
    25 18/04/2016   2 30246 1605 TA11 08:58:00         0
    26 18/04/2016   2 30246 1605 TA11 09:00:00         0
    27 18/04/2016   2 30246 1605 TA11 09:02:00         0
    28 18/04/2016   2 30246 1605 TA11 09:04:00         0
    29 18/04/2016   2 30246 1605 TA11 09:06:00         0
    30 18/04/2016   2 30246 1605 TA11 09:08:00         0
    31 18/04/2016   2 30246 1605 TA11 09:10:00         0
    32 18/04/2016   2 30246 1605 TA11 09:12:00         0
    33 18/04/2016   2 30246 1605 TA11 09:14:00         0
    34 18/04/2016   2 30246 1605 TA11 09:16:00         2
    35 18/04/2016   2 30246 1605 TA11 09:18:00         2
    36 18/04/2016   2 30246 1605 TA11 09:20:00         2
    37 18/04/2016   2 30246 1605 TA11 09:22:00         2
    38 18/04/2016   2 30246 1605 TA11 09:24:00         2
    Cordialement,
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/07/2015, 17h05
  2. [XL-2013] Copie de colonnes non consécutives vers la première ligne vide d'un autre fichier
    Par bizzzounours dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 16/06/2015, 14h35
  3. Déplacer le contenu d'une colonne vers une autre dans un fichier
    Par bubulle44 dans le forum Shell et commandes POSIX
    Réponses: 1
    Dernier message: 17/01/2012, 12h22
  4. Réponses: 2
    Dernier message: 23/06/2011, 10h33
  5. [XL-2007] Copie de colonnes vers une seule ligne
    Par Thewil dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/10/2009, 18h17

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