Maciej B. Doktorant
Temat: Wczytywanie plików fixed width format
Witam,chciałem Was podpytać czy istnieje możliwość efektywnego (tj. szybkiego) wczytania dużych plików tekstowych, które nie mają separowanych kolumn (fixed width format)?
Chciałem ostatnio wczytać w miarę duży (100k obserwacji i 90 zm.) zbiór danych do R, do łatwiejszego określenia zakresu zmiennych wykorzystałem kody SAS i pakiet SAScii, następnie poleceniem read.fwf chciałem wczytać owy zbiór danych i...trwało to wieki czyli 2 minuty, gdzie SAS wczytał zbiór w 2 sekundy. W przypadku zbioru który ma ok. 500k obs. i 90 zm wczytywanie trwało baaaardzo długo (prawie 60 min).
Czy istnieje możliwość przyspieszenia tego procederu?
poniżej kod i zbiór, który mnie interesuje:
Zbiór: http://pisa2009.acer.edu.au/downloads/INT_PAR09_DEC11.zip
Kod SAS: http://pisa2009.acer.edu.au/downloads/INT_PAR09_SAS_DE...
library(SAScii)
a<-Sys.time()
x<-parse.SAScii('INT_PAR09_SAS_DEC11.sas')
parents<-read.fwf('INT_PAR09_DEC11.txt',widths=x$width)
names(parents)<-x$varname
Sys.time()-a
R na którym pracuję i komputer:
R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Polish_Poland.1250 LC_CTYPE=Polish_Poland.1250 LC_MONETARY=Polish_Poland.1250
[4] LC_NUMERIC=C LC_TIME=Polish_Poland.1250
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] SAScii_0.3 XLConnect_0.1-9 XLConnectJars_0.1-4 rJava_0.9-3
loaded via a namespace (and not attached):
[1] tools_2.15.1
Procesor: i7-2630QM 2GHz, 8GB DDR3.