Importation de fichier

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

Jue Binette
Messages : 17
Enregistré le : 09 Sep 2008, 12:24

Importation de fichier

Messagepar Jue Binette » 22 Sep 2008, 18:01

Bonjour j'ai un problème avec l'importation de fichier et/ou le format date de celui-ci une fois rendu en R.

Je m'explique....

J'essaie d'importer un fichier .txt en utilisant le code de programmation suivant:

seal <-read.table("ident51.txt", header=T)

Cependant lorsque je suis sous R, je m'aperçois que R décalle les colonnes et les noms de colonnes et que cela pose problèmes lorsque je réfère à celles-ci pendant le reste de ma programmation. (voir exemple ci-dessous).

obs ident age sexnum datetime
24441 51 5 2 2004-06-10 19:01
24442 51 5 2 2004-06-10 22:06
24443 51 5 2 2004-06-10 22:23
24444 51 5 2 2004-06-10 23:04
24445 51 5 2 2004-06-10 23:43
date annee jour mois temps
24441 2004-06-10 2004 10 6 19:01:12
24442 2004-06-10 2004 10 6 22:06:56
24443 2004-06-10 2004 10 6 22:23:41
24444 2004-06-10 2004 10 6 23:04:06
24445 2004-06-10 2004 10 6 23:43:25
heure minute seconde lc lat lon
24441 19 1 12 2 46.754 -64.881
24442 22 6 56 -2 47.018 -63.901
24443 22 23 41 -2 46.824 -64.730
24444 23 4 6 -1 46.792 -64.805
24445 23 43 25 -2 46.809 -64.759

Je n'ai pas ce genre de decallage lorsque j'importe en format .xls mais sous ce format les date et les heures sont codés en chiffres.

Dans la documentation que je l'ai, je n'ai pas réussit à trouver non plus comment créer une variable temps ou date à partir de variable (heure minute seconde, jour mois annee) dans le fichier importer.

Savez-vous comment je peux régler le décallage lors de l'importation sous forme .txt? comment je peux transformer des dates et des heures chiffrées en format usuel ou comment créer ces variables à partir de variables présentes dans le fichier de données?

Désolée pour mes question basiques... je suis relativement nouvelle dans R et la littérature que j'ai consulté durant de longues heures ne m'a pas été d'une grande aide jusqu'à maintenant...

merci!
Juliette.

Vincent Boulanger
Messages : 76
Enregistré le : 25 Avr 2006, 11:59

Messagepar Vincent Boulanger » 22 Sep 2008, 19:24

Bonsoir,

ça fait 2 ans que j'importe des fichiers txt qui proviennent de feuilles excel et je n'ai jamais rencontré ce genre de soucis.

Je vous donne ma méthode :
1) enregistrer la table excel sous un format .txt, séparateur tabulation
2)importer avec read.table("matable.txt", sep="\t", header=TRUE)

et je n'ai jamais eu de problème de décalage...

Bon courage

Vincent
Vincent Boulanger
Ingénieur Forestier
Doctorant Cemagref/INRA/ONCFS

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

Messagepar Logez Maxime » 22 Sep 2008, 19:49

Bonsoir,

Le décalage vient du fait que tu utilises un séparateur qui doit être un espace et que tu as des chaînes de caractères qui doivent comporter des espaces ! Du coup au lieu de garder l'intégrité de ta chaîne il te la sépare en deux. Le conseil de Vincent pour changer de séparateur est à suivre, soit tu utilises une tabulation soit tu peux aussi utiliser un ";".

Pour ce qui est du format de créer un variable temps tu peux faire comme ceci :

Code : Tout sélectionner

as.POSIXlt(paste(gsub("(^\\d{2})(.*)(\\d{4}$)","\\3\\2\\1",test$date,perl=TRUE),test$temp,sep=" "))
Si ton tableau s'appelle test.

Pour tout ce qui touche aux dates et aux heures regarde du côté de as.Date, strptime, as.POSIXct, as.POSIXlt, format ... Perso je ne trouve pas ça évident à manipuler.

Maxime

Jue Binette
Messages : 17
Enregistré le : 09 Sep 2008, 12:24

Messagepar Jue Binette » 30 Sep 2008, 17:49

Merci!

J'ai résolu mon problème grâce à vos conseils!


Retourner vers « Questions en cours »

Qui est en ligne

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

cron