Importation de fichiers Excel avec valeurs manquanavec RODBC

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

Juliette Fabre
Messages : 32
Enregistré le : 09 Mar 2007, 12:24

Importation de fichiers Excel avec valeurs manquanavec RODBC

Messagepar Juliette Fabre » 04 Sep 2007, 14:49

Bonjour!

J'ai quelques soucis en important des fichiers Excel avec RODBC :

Si une des variables est vide sur les premières lignes du fichier, je récupère alors automatiquement la variable entière remplie de NA!

Je peux certes trouver une combine pour remplacer dans Excel les valeurs manquantes par une autre valeur que je remplace à nouveau après, mais n'existe-t-il pas un moyen dans R pour forcer le type des variables que j'importe?

Merci!

Matthieu Lesnoff
Messages : 120
Enregistré le : 29 Nov 2004, 12:41

Re: Importation de fichiers Excel avec valeurs manquanavec R

Messagepar Matthieu Lesnoff » 05 Sep 2007, 06:45

Juliette Fabre a écrit :Bonjour!

Si une des variables est vide sur les premières lignes du fichier, je récupère alors automatiquement la variable entière remplie de NA!

Merci!


Bonjour, une solution peut etre de mettre les noms de variables en 1ere ligne du fichier. D'ailleurs, vous pouvez utiliser la fonction query() du package ttool (disponible sur ce forum), qui facilite les importations avec RODBC. Avec query, la 1re ligne doit representer les noms de variable.

Exemple d'importation d'un fichier Excel avec 3 variables (var1, var2 et var3) :

Code : Tout sélectionner


> mydata <- query(db = "D:/Users/essai.xls", tab = "Sheet1")
> mydata

  var1 var2 var3
1   NA   NA <NA>
2   NA    1 <NA>
3   NA    2    b
4    4    3    c



Matthieu

Juliette Fabre
Messages : 32
Enregistré le : 09 Mar 2007, 12:24

Messagepar Juliette Fabre » 05 Sep 2007, 12:30

OK merci!

Juliette Fabre
Messages : 32
Enregistré le : 09 Mar 2007, 12:24

Messagepar Juliette Fabre » 05 Sep 2007, 15:11

En réalité cela donne exactement les mêmes résultats!!
J'ai ainsi une variable vide sur les 100 premières lignes, et que ce soit avec RODBC ou avec ttool, elle est importée comme variable booléenne avec uniquement des valeurs manquantes!!!!

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

Messagepar Logez Maxime » 05 Sep 2007, 15:22

Bonjour,

Est-ce que dans ta colonne tu n'aurais pas deux types d'information du genre des chiffres dans certaines cases et dans d'autres des caractères ? Dans ce cas la en effet ça génère des NA pour les chiffres par exemple et ça ne conserve que les cases avec des chaînes de caractères. Sinon il reste le bon vieux fichier texte.

Maxime

Juliette Fabre
Messages : 32
Enregistré le : 09 Mar 2007, 12:24

Messagepar Juliette Fabre » 05 Sep 2007, 15:27

A priori non, toutes les infos ici en l'occurence sont numériques! Je vais quand même regarder plus précisément s'il n'y a pas un ptit texte qui se serait glissé.. Et sinon oui le fichier texte! :)

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

Messagepar Logez Maxime » 05 Sep 2007, 15:36

Re,

un autre problème possible serait que tu es plus de valeurs manquantes que de valeurs remplies et apparement ça peut engendrer des NA de partout aussi.

Maxime

Matthieu Lesnoff
Messages : 120
Enregistré le : 29 Nov 2004, 12:41

Messagepar Matthieu Lesnoff » 06 Sep 2007, 05:43

Logez Maxime a écrit :un autre problème possible serait que tu es plus de valeurs manquantes que de valeurs remplies et apparement ça peut engendrer des NA de partout aussi.


En fait je n'observe pas ca avec query() : 'var1' a 3 cellules vides pour 1 cellule pleine. Je n'observe pas non plus le pb de melange caractere/numerique : 'var4' et 'var5' contenaient des cellules avec du texte qui ont ete mises en Na mais pas le nombre '5' :

Code : Tout sélectionner

> query()
  var1 var2 var3 var4 var5
1   NA   NA <NA>   NA   NA
2   NA    1 <NA>   NA   NA
3   NA    2    b   NA    5
4    4    3    c    5   NA


Bref, je ne sais pas d'ou vient le pb. Excel n'est pas fiable pour la gestion des donnees et met du code invisible partout. RODBC doit rencontrer un code qu'il ne comprend pas en debut de colonne. Essayez peut-etre de modifier le format de vos colonnes (ex: General, Number, etc.) ou carrement le format de votre fichier : passer en .csv, voire Access.

Matthieu

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

Messagepar Logez Maxime » 06 Sep 2007, 07:17

Matthieu Lesnoff a écrit :
Logez Maxime a écrit :un autre problème possible serait que tu es plus de valeurs manquantes que de valeurs remplies et apparement ça peut engendrer des NA de partout aussi.


En fait je n'observe pas ca avec query() : 'var1' a 3 cellules vides pour 1 cellule pleine. Je n'observe pas non plus le pb de melange caractere/numerique : 'var4' et 'var5' contenaient des cellules avec du texte qui ont ete mises en Na mais pas le nombre '5' :


J'ai pris un peu plus de valeurs que dans ton exemple, mais avec un tableau de 150 lignes et une colonne remplie uniquement de 30 valeurs numériques qui se suivent en milieu de colonne, en l'important avec RODBC j'ai bien une colonne remplie de NA une fois importée dans R. Mais je n'ai pas plus d'idées concernant les sources du problème.

Maxime

Juliette Fabre
Messages : 32
Enregistré le : 09 Mar 2007, 12:24

Messagepar Juliette Fabre » 07 Sep 2007, 09:11

Oui effectivement, les colonnes qui posent problèmes contiennent très peu de valeurs!
C'est quand même un peu embêtant..
Merci en tout cas et je vais faire avec!!!

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

Messagepar Logez Maxime » 07 Sep 2007, 09:21

Bonjour,

Une des solutions est le fichier texte ou bien de passer ta feuille excel dans une base de données access et de l'importer avec RODBC la ça marche pas mal et pas de problème de colonnes de NA. Une autre solution est de donner un format de nombre avec décimale (dans le cas de valeurs numériques) aux cellules vides de ta colonnne qui précèdent les valeurs, et la ça marche je n'ai plus les colonnes pleines de NA mais biens des NA aux endroits des cellules vides et mes valeurs qui apparaissent dans la colonne.

Maxime

Juliette Fabre
Messages : 32
Enregistré le : 09 Mar 2007, 12:24

Messagepar Juliette Fabre » 07 Sep 2007, 10:45

Ok merci pour les conseils!!


Retourner vers « Questions en cours »

Qui est en ligne

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