[R] Read many cvs files
Durant, James T. (ATSDR/DCHI/SSB)
hzd3 at cdc.gov
Thu Jan 3 20:49:27 CET 2013
This is what I do (a lot):
If all the files you want to read have the same structure, I would suggest using dlply in package plyr to import them.
First set you working directory to the location of where you have your files ( use setwd()), then construct a vector of filenames you want to bring in:
library(plyr)
myfiles <- c("file1.csv", "file2.csv")
mydata <- dlply(myfiles, .progress="text")
HTH
James
James T. Durant, MSPH CIH
Environmental Health Scientist
US Agency for Toxic Substances and Disease Registry
Atlanta, GA 30341
770-488-0668
Message: 21
Date: Wed, 2 Jan 2013 16:14:57 +0100
From: Dominic Roye <dominic.roye at gmail.com>
To: R help <r-help at r-project.org>
Subject: [R] Read many cvs files
Message-ID:
<CALvVS-EZHiMujH3aJnTMAEp60DVVnUnA7LTJdq0n6YiDMz2n8Q at mail.gmail.com>
Content-Type: text/plain
Hello R helpers,
I would like to automate this code for many files of the same type. But I
don?t know how to make it. In particular, i don?t know how to read many
files each one as an r object with the name of the file. Then a for loop
would be sufficient, right?
Many thanks and a happy new year.
Dominic
datos <- read.table('global2001.csv',head=T,sep=';',stringsAsFactors=F)
datos[datos==""] <- NA
temp <- datos[,19:53]
y <- split(temp,1:nrow(temp))
y2 <- lapply(y,function(x) paste(x[!is.na(x)],collapse=";"))
global2001 <- datos[,-19:-53]
global2001[1,"CODPA"] <- 1
global2001$CODPA <- y2
global2001$CODPA <- unlist(global2001$CODPA)
Example of a file:
> str(datos)
'data.frame': 112598 obs. of 53 variables:
$ Identificaci?n.do.Paciente : chr "34" "41" "42" "46" ...
$ N?mero.de.Historia : int 3024659 3028931 3030905 3033514
3037754 3039062 3039851 3048020 3049659 3049659 ...
$ TSI : chr "580208NCEE0010"
"770802ROOR0019" "710720GEUS1015" "770319GLOO0011" ...
$ Identificador.interno.de.episodio: int 2001033879 2001042319 2001036188
2001030007 2001039108 2001041196 2001063540 2001031533 2001031565
2001056967 ...
$ Ano.Alta : int 2001 2001 2001 2001 2001 2001
2001 2001 2001 2001 ...
$ Data.Ingreso : chr "16/02/2001" "27/04/2001"
"09/03/2001" "18/01/2001" ...
$ Data.Alta : chr "20/02/2001" "30/04/2001"
"10/03/2001" "21/01/2001" ...
$ Sexo : chr " MULLER" " MULLER" "
HOME" " MULLER" ...
$ Idade.en.anos : int 43 23 29 23 48 27 80 42 42 42 ...
$ C?digo.Concello : int 15030 15092 15030 15030 15019
15030 15032 15014 15005 15005 ...
$ Concello : chr "CORU?A, A" "VIMIANZO" "CORU?A,
A" "CORU?A, A" ...
$ Hospital.abrev. : chr "A CORU?A" "A CORU?A" "A CORU?A"
"A CORU?A" ...
$ Motivo.de.Alta : chr "DESTINO A DOMICILIO" "DESTINO A
DOMICILIO" "DESTINO A DOMICILIO" "DESTINO A DOMICILIO" ...
$ C?d..Diagn?stico.Ppal.completo : chr "218.0 " "890.1 " "998.89" "650.
" ...
$ Diagn?stico.Ppal.completo : chr "LEIOMIOMA UTERINO SUBMUCOSO"
"HERIDA ABIERTA DE CADERA Y MUSLO-COMPLICADA" "OTRAS COMPLICACIONES
ESPECIFICADAS DE PROCEDIMIENTO" "PARTO NORMAL" ...
$ GRD : int 359 443 453 373 796 372 14 758
450 450 ...
$ Descrici?n..do.GRD : chr "PROC. SOBRE ?TERO E ANEXOS POR
CA.IN SITU E PROCESO NON MALIGNO SEN CC" "OUTROS PROCEDEMENTOS CIR?RXICOS
POR LESI?N TRAUM?TICA SEN CC" "COMPLICACI?NS DE TRATAMENTO SEN CC" "PARTO
SEN COMPLICACI?NS" ...
$ Peso.GRD : num 1.098 0.948 0.601 0.58 3.846 ...
$ Lista.de.c?digos.de.diagn?stico : chr "218.0" "890.1" "998.89" "650."
...
$ X : chr "" "E986" "780.2" "V27.0" ...
$ X.1 : chr "" "" "780.4" "" ...
$ X.2 : chr "" "" "381.3" "" ...
$ X.3 : chr "" "" "" "" ...
$ X.4 : chr "" "" "" "" ...
$ X.5 : chr "" "" "" "" ...
$ X.6 : chr "" "" "" "" ...
$ X.7 : chr "" "" "" "" ...
$ X.8 : chr "" "" "" "" ...
$ X.9 : chr "" "" "" "" ...
$ X.10 : chr "" "" "" "" ...
$ X.11 : chr "" "" "" "" ...
$ X.12 : chr "" "" "" "" ...
$ X.13 : chr "" "" "" "" ...
$ X.14 : chr "" "" "" "" ...
$ X.15 : chr "" "" "" "" ...
$ X.16 : chr "" "" "" "" ...
$ X.17 : chr "" "" "" "" ...
$ X.18 : chr "" "" "" "" ...
$ X.19 : chr "" "" "" "" ...
$ X.20 : chr "" "" "" "" ...
$ X.21 : chr "" "" "" "" ...
$ X.22 : chr "" "" "" "" ...
$ X.23 : num NA NA NA NA NA NA NA NA NA NA ...
$ X.24 : chr "" "" "" "" ...
$ X.25 : chr "" "" "" "" ...
$ X.26 : num NA NA NA NA NA NA NA NA NA NA ...
$ X.27 : chr "" "" "" "" ...
$ X.28 : chr "" "" "" "" ...
$ X.29 : num NA NA NA NA NA NA NA NA NA NA ...
$ X.30 : num NA NA NA NA NA NA NA NA NA NA ...
$ X.31 : num NA NA NA NA NA NA NA NA NA NA ...
$ X.32 : num NA NA NA NA NA NA NA NA NA NA ...
$ X.33 : logi NA NA NA NA NA NA ...
>
[[alternative HTML version deleted]]
More information about the R-help
mailing list