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 :

Extraire données fichier


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Par défaut Extraire données fichier
    Bonjour,

    J'ai un fichier de données formé de sous ensemble de données. Des paquets de 20 données qui correspondent aux lignes d'une matrice...
    Je ne sais pas comment les extraire de manière a avoir une matrice complete.
    En gros il me faut remplir une matrice en lisant les données du fichier par paquet de 20...

    Voici un exemple de fichier: (matrice de 4 colonnes, 20 lignes)

    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
    10 20 30 
    13 20 10
    10 20 30 
    13 20 10
    10 20 30 
    13 20 10
    13 13
    10 20 30 
    13 20 10
    10 20 30 
    13 20 10
    10 20 30 
    13 20 10
    13 13
    10 20 30 
    13 20 10
    10 20 30 
    13 20 10
    10 20 30 
    13 20 10
    13 13
    10 20 30 
    13 20 10
    10 20 30 
    13 20 10
    10 20 30 
    13 20 10
    13 13
    Je voudrais obtenir ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    10 20 30 10 20 30 10 20 30 10 20 30 10 20 30 10 20 30 13 13
    10 20 30 10 20 30 10 20 30 10 20 30 10 20 30 10 20 30 13 13
    10 20 30 10 20 30 10 20 30 10 20 30 10 20 30 10 20 30 13 13
    10 20 30 10 20 30 10 20 30 10 20 30 10 20 30 10 20 30 13 13
    Merci pour votre aide.

    OJ

  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 : 37
    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
    Par défaut
    Bonjour,


    Pouvez-vous tenter d'expliquer votre problème de manière un peu plus claire? En ce qui me concerne, j'ai du mal à comprendre ce que vous souhaitez obtenir...
    Je ne vois pas bien à quoi correspondent les éléments présents dans la matrice que vous indiquez vouloir obtenir (où sont passés les éléments "13 20 10").

    Voilà ce que j'ai compris pour le moment sur un exemple :

    Matrice initiale :

    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
    01  02  03
    04  05  06
    07  08  09
    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
    ...   ...   ...
    Matrice souhaitée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    01  02  03  04  05  06  07  08  09  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  37  39  40
    41  42  ...   ...  ...
    Est-ce bien cela?
    Si oui, alors vous pouvez procéder de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    > M<-matrix(1:42,byrow=TRUE,ncol=3)
     
    > t(M)[1:20]
     [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
    > t(M)[21:40]
     [1] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
     
    > rbind(t(M)[1:20],t(M)[21:40])
         [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
    [1,]    1    2    3    4    5    6    7    8    9    10    11    12    13    14
    [2,]   21   22   23   24   25   26   27   28   29    30    31    32    33    34
         [,15] [,16] [,17] [,18] [,19] [,20]
    [1,]    15    16    17    18    19    20
    [2,]    35    36    37    38    39    40
    A automatiser ensuite.

    Voilà, je ne suis pas sûre que ceci corresponde à votre problème donc j'attends quelques explications si vous pouvez essayer d'éclaircir un peu la chose.

    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.

  3. #3
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Par défaut
    Bonjour et merci pour votre réponse.

    Les données correspondent à une matrice de dimension lignes/colonnes = 20/100. Le problème c'est que les données sont inclus dans un fichier à 3 colonnes. Les 20 premieres valeurs correspondent à la premiere lignes, les 20 suivantes à la seconde etc...

    20 étant un nombre pair, je me retrouve avec la ligne 7 qui ne contient que 2 valeurs ce qui fait que R me retourne un message d'erreur...

    J'espère avoir été un peu plus clair.

    OJ

  4. #4
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Par défaut
    Mon problème est que je ne sais pas comment lire ce fichier...

  5. #5
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 25
    Par défaut
    En fait la solution est simple...

    S'il manque une valeur sur une ligne on peut forcer R à attribuer la valeur NA en utilisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    M<-read.table("file.txt", fill=TRUE)
    Merci pour votre aide

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

Discussions similaires

  1. Extraire données fichier texte vers une matrice
    Par mygwel dans le forum MATLAB
    Réponses: 7
    Dernier message: 05/03/2009, 12h20
  2. extraire données fichiers xml vers excel
    Par newcodeur dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/06/2008, 10h17
  3. Extraire données fichier txt
    Par thib1984 dans le forum MATLAB
    Réponses: 6
    Dernier message: 18/02/2008, 13h39
  4. extraire donné fichier txt afficher dans xml
    Par jasminrose dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 01/04/2007, 12h14
  5. Extraire données fichier txt
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2005, 17h12

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