2017-05-11 3 views
-1

Ich versuche, eine Excel-Datei zu lesen R mit read_excel (es ist eine xlsx Datei), habe ich Spalten, die Buchstaben und Zahlen enthalten, zum Beispiel Dinge wie P765876. Diese Spalten haben auch Zellen mit nur Zahlen, dh 234654, so, wenn es liest in R liest es als ein Unbekanntes (nicht Zeichen oder Zahlen), aber dies bedeutet, dass es jede Zelle, die einen Buchstaben und eine Zahl hat einen Wert von NA, wie kann Ich lese das richtig ein?Lesen in Excel-Spalte mit Zahlen und Zeichen zu R

Mein Code ist im Moment

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

Ca nicht reproduzieren Sie Ihren Fehler .... ob mit 'read_excel' von' readxl' oder 'read.xlsx' von' xlsx'. Bei der ersten Option wird meine Spalte mit "P1", "123", "P1235", "2352154" 'mit dem Typ' chr' und die zweite mit 'Faktor' gelesen. Mit einigen Beispieldaten wäre es einfacher, Ihnen zu helfen. –

+0

Siehe auch das Argument 'col_types' ... – Axeman

+0

@wolf_wue Liest du das als einzige Spalte ein? Ich habe mehrere Spalten unterschiedlicher Variation einige char einige Zahlen einige eine Mischung, mein Problem ist, dass die gemischten nicht lesen Werte mit Zeichen in ihnen? – MLPNPC

Antwort

0

auch die col_types Argument zu verwenden, würde empfehlen, indem sie sie als „Text“ spezifizieren Sie durch Zwang eingeführt NAs immer vermeiden sollten. So würde Ihr Code wie sein:

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

Bitte lassen Sie mich wissen, wenn dies Ihr Problem gelöst hat. Grüße, /Michael

+0

Wenn ich den Code oben gebe ich den Fehler: Fehler in read_xlsx_ (Pfad, Blatt, col_names = col_names, col_types = col_types,: Benötigen Sie einen Namen und Typ für jede Spalte – MLPNPC

+0

Das ist seltsam. Wenn nur einen Wert zur Verfügung gestellt col_types Argument soll das über alle Spalten wiederholen, aber wenn ein Vektor gegeben wird, muss die Länge dieses Vektors mit der Anzahl der Spalten übereinstimmen.Ich nehme an, dass Sie auch die Version 1.0.0 von readxl verwenden? – Michael

+0

Abhängig von der Struktur von Ihre Excel-Datei könnte dies als eine Lösung für Ihr Problem funktionieren: http://StackOverflow.com/A/34015430/7932155 – Michael

0

nicht wirklich eine Antwort, aber zu viel für einen Kommentar ...

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" ... 

Die Säule int_char ist ein Mischung von beiden, beginnend/endend mit Zahlen oder Zeichen

+0

Ich kann das nicht wirklich tun, weil ich alle Daten von Hand eingeben müsste und ich 60.000 habe + Beobachtungen. Ich könnte versuchen, es separat zu lesen und es später zusammenzufügen. Danke für die Vorschläge! – MLPNPC

Verwandte Themen