[résolu]read.table avec deux lignes de "noms de variabl

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Vincent Chalmel
Messages : 103
Enregistré le : 16 Avr 2009, 17:26

[résolu]read.table avec deux lignes de "noms de variabl

Messagepar Vincent Chalmel » 30 Juin 2009, 07:23

Difficile de trouver un titre éloquent...

Je veux charger des données de la forme suivante, avec deux variables qualitatives et les valeurs d'une quantitative y :

les deux premières lignes du fichier sont en gros :

|modalité 1 var 1| modalité 1 var 1|modalité 2 var 1|modalité 2 var 1|
|modalité 1 var 2| modalité 2 var 2|modalité 1 var 2|modalité 2 var 2|

et les lignes suivantes sont un nombre important de relevés de y pour chaque classe, chaque colonne correspondant aux y pour les deux modalités des deux premières lignes de la colonne.

mon problème est que read.table me prend -- même en précisant dec="," -- des colonnes entièrement chaines de caractères vu que les premières lignes sont en chaines de caractères.

Comment faire en sorte de récupérer ces deux premières lignes en chaines de caractères, le reste en numérique, sans header ?

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 30 Juin 2009, 07:42

Bonjour,

Le plus simple reste de transposer le tableau. R ne sait pas gérer plusieurs noms pour une même colonne.

Vincent Chalmel
Messages : 103
Enregistré le : 16 Avr 2009, 17:26

Messagepar Vincent Chalmel » 30 Juin 2009, 07:45

read.table peut faire la transposition ? je ne me souviens pas avoir vu ca dans sa doc ^^'

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 30 Juin 2009, 07:48

non, pas à ma connaissance non plus :). une transposition via excel qui prend environ 10s (dont 9.5s de temps de chargement d'excel :P) peut être utile

Vincent Chalmel
Messages : 103
Enregistré le : 16 Avr 2009, 17:26

Messagepar Vincent Chalmel » 30 Juin 2009, 07:50

ah, oui alors c'est ca que j'ai oublié de préciser ^^ mes tables de données sont aux limites d'excel ( dans les 65000 lignes, et 200 colonnes à peu près )... donc difficile de transposer à 65000 colonnes...

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 30 Juin 2009, 07:54

Bonjour,

peut-être en les incorporant en deux temps :

Code : Tout sélectionner

noms.col <- read.table(X,h=F,nrows=2,stringsAsFactors=FALSE)
tab <- read.table(X,dec=",",h=F,skip=2)


Après a toi de voir ce que tu veux faire avec les noms de colonne. Dans le premier objet tu as normalement les deux lignes de tes noms de colonne et dans le deuxième tu as les valeurs numériques. A toi de spécifier le séparateur.

Maxime

Vincent Chalmel
Messages : 103
Enregistré le : 16 Avr 2009, 17:26

Messagepar Vincent Chalmel » 30 Juin 2009, 08:05

oui... bon je vais essayer de concocter un script pour me faire la transposition, puisque le but est de faire une analyse de la variance, ce sera mieux

Vincent Chalmel
Messages : 103
Enregistré le : 16 Avr 2009, 17:26

Messagepar Vincent Chalmel » 30 Juin 2009, 08:49

une chtite question, je viens de m'apercevoir qu'ayant construit le fichier texte avec excel, les séparateurs sont des tabulations, hors R ne fait pas de différence entre plusieurs tabulations et une seule, ce qui viens "coller à gauche" mes données.

comment y remédier ?

jean lobry
Messages : 733
Enregistré le : 17 Jan 2008, 20:00
Contact :

Re: read.table avec deux lignes de "noms de variables&q

Messagepar jean lobry » 30 Juin 2009, 09:17

Vincent Chalmel a écrit :Comment faire en sorte de récupérer ces deux premières lignes en chaines de caractères, le reste en numérique, sans header ?


Bonjour,

j'essayerais un read.table(..., skip = 2) pour passer les deux premières lignes.

Amicalement,

Jean

Vincent Chalmel
Messages : 103
Enregistré le : 16 Avr 2009, 17:26

Messagepar Vincent Chalmel » 30 Juin 2009, 09:20

oui c'est ce que j'ai fait avant de faire ma transposition en script au final.

pour l'histoires des blancs multiples, je suis passé en .csv, mais je reste intéréssé par une suggestion de solution interne à R

jean lobry
Messages : 733
Enregistré le : 17 Jan 2008, 20:00
Contact :

Messagepar jean lobry » 30 Juin 2009, 09:20

Vincent Chalmel a écrit :une chtite question, je viens de m'apercevoir qu'ayant construit le fichier texte avec excel, les séparateurs sont des tabulations, hors R ne fait pas de différence entre plusieurs tabulations et une seule, ce qui viens "coller à gauche" mes données.

comment y remédier ?


Bonjour,

essayer de préciser que les séparateurs sont des tabulations avec read.table(..., sep = "\t").

Amicalement,

Jean

Vincent Chalmel
Messages : 103
Enregistré le : 16 Avr 2009, 17:26

Messagepar Vincent Chalmel » 30 Juin 2009, 09:34

j'essaierais ça merci


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron