2016-08-05 27 views
-2

Ich habe meinen Datensatz unten angehängt. Ich versuche es in r mit fread zu lesen. Aber die Spaltenklassen sind alle character sogar ich habe sie angegeben.fread() weist alle Spaltenklassen dem Zeichen zu, sogar

class <- c("character", "character", "numeric", "numeric","numeric", 
"character", "numeric", "numeric", rep("chracter", 5), "numeric",          
"chracter", "character", "factor", "character",  
"character", "character", "character", "character", "factor",           
"numeric", "numeric", "character",rep("numeric", 6), "character",          
"numeric", "factor", rep("numeric", 9) , "character", "numeric",          
"character", "character", "numeric", "numeric", "numeric", "factor",         
"factor", "numeric", "numeric", "factor", rep("numeric", 55)) 

data_q1 <- fread("LoanStats_2016Q1.csv", header = TRUE, skip = 1, nrows = 133887, colClasses = class, fill = TRUE) 

str(data_q1) 

Classes ‘data.table’ and 'data.frame': 133887 obs. of 111 variables: 
$ id       : chr "75577129" "75669195" "75769072" "75991583" ... 
$ member_id      : chr "81011841" "81136933" "81236807" "81482303" ... 
$ loan_amnt      : chr "25000" "4000" "3600" "8000" ... 
$ funded_amnt     : chr "25000" "4000" "3600" "8000" ... 
$ funded_amnt_inv    : chr "25000" "4000" "3600" "8000" ... 

ich überprüfen, haben diese answer und ich versuchte dies:

any(is.na(data_q1[, loan_amnt])) 
[1] FALSE 

Meine loan_amnt Spalte nicht NA Werte enthält. Jetzt weiß ich nicht, was das Problem ist.

data

+1

Ich denke, Sie stoßen auf dieses Problem aus dem Dokument: 'fread wird nur eine Spalte fördern zu einem höheren Typ, wenn colClasses es anfordert. Es wird keine Spalte auf einen niedrigeren Typ herabgestuft, da sich NAs ergeben würden. Sie müssen solche Spalten anschließend selbst erzwingen, wenn Sie wirklich Datenverlust benötigen. " – Vedda

+0

aber das Problem ist die loan_amnt Spalte hat keine NA Werte – zhichi

+1

Es könnte sein, es gibt keine' NA' Werte, aber der Datensatz enthält andere Arten von Werten für "NA" Ohne die Daten zu haben, ist es schwer von diesem Ende zu wissen. Ich würde alle Daten visuell betrachten, um zu sehen, ob fehlende Werte als etwas anderes identifiziert werden. – Vedda

Antwort

1

Sie haben Rechtschreibfehler in dem Klassenvektor. rep ("chracter", 5) sollte rep sein ("character", 5) und dieser Fehler wiederholt sich im selben Vektor