2017-05-11 2 views
-1

J'essaie de lire dans un fichier Excel à R en utilisant read_excel (c'est un fichier xlsx), j'ai des colonnes qui contiennent des lettres et des chiffres, par exemple des choses comme P765876. Ces colonnes ont également des cellules avec des nombres justes 234654, donc quand il lit à R il lit comme un inconnu (non caractère ou numérique) mais cela signifie qu'il donne à n'importe quelle cellule qui a une lettre et un nombre une valeur de NA, comment peut J'ai lu cela correctement?Lire dans la colonne Excel avec des chiffres et des caractères à R

Mon code au moment est

tenant<-read_excel("C:/Users/MPritchard/Repairs Projects/May 2017/Tenant Info/R data 1.xlsx") 
+0

Ca ne pas reproduire votre erreur .... que ce soit en utilisant 'read_excel' de' readxl' ou 'read.xlsx' de' xlsx'. Avec la première option, ma colonne contenant '" P1 "," 123 "," P1235 "," 2352154 "' est lue avec le type 'chr' et avec la seconde comme' factor'. En fournissant quelques exemples de données, il serait plus facile de vous aider. –

+0

Voir aussi l'argument 'col_types' ... – Axeman

+0

@wolf_wue lisez-vous ceci en tant que seule colonne? J'ai plusieurs colonnes de variation différente de certains caractères un certain mélange, mon problème est que les mixtes ne lisent pas dans les valeurs avec des caractères en eux? – MLPNPC

Répondre

0

Je vous recommande également d'utiliser l'argument col_types, en spécifiant comme « texte » vous devriez éviter d'être mis en place par la contrainte NAs. Donc, votre code serait comme:

tenant<-read_excel("C:/Users/MPritchard/Repairs Projects/May 2017/Tenant Info/R data 1.xlsx", col_types = "text") 

S'il vous plaît laissez-moi savoir si cela a résolu votre problème. Cordialement, /Michael

+0

Lorsque j'entre le code ci-dessus, j'obtiens l'erreur: Erreur dans read_xlsx_ (chemin, feuille, col_names = col_names, col_types = col_types,: Besoin d'un nom et d'un type pour chaque colonne – MLPNPC

+0

Cela est étrange. L'argument col_types est supposé réitérer cela sur toutes les colonnes, mais quand on lui donne un vecteur, la longueur de ce vecteur doit correspondre au nombre de colonnes, je suppose que vous utilisez aussi la version 1.0.0 de readxl? – Michael

+0

Selon la structure de Votre fichier Excel peut fonctionner comme une solution à votre problème: http://stackoverflow.com/a/34015430/7932155 – Michael

0

Pas vraiment une réponse, mais trop pour un commentaire ...

1:

> library(xlsx) 
> tenant <- read.xlsx("returns.xlsx", sheetIndex = 1) 
> str(tenant) 
'data.frame': 9 obs. of 3 variables: 
$ only_integer: num 1 2 34 5 546931 ... 
$ int_char : Factor w/ 9 levels "2545","2a","2d",..: 6 4 9 3 5 1 7 2 8 
$ only_char : Factor w/ 6 levels "af","dd","e",..: 2 1 5 6 3 2 4 3 1 

2:

> library(readxl) 
> tenant2 <- read_excel("returns.xlsx") 
> str(tenant2) 
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 9 obs. of 3 variables: 
$ only_integer: num 1 2 34 5 546931 ... 
$ int_char : chr "d5" "5" "ff2ad2f" "2d" ... 
$ only_char : chr "dd" "af" "h" "ha" ... 

La colonne est une int_char mélange des deux, commençant/finissant par des chiffres ou des caractères

+0

Je ne peux pas vraiment le faire parce que je devrais entrer toutes les données à la main et j'ai 60 000 + observations.Je pourrais essayer de le lire séparément et de le fusionner après.Merci pour les suggestions cependant! – MLPNPC