Carlos Ortega
2014-Sep-11 16:16 UTC
[R-es] separar un archivo por años en diferentes archivos
Hola Marta, Si el código exacto que utilizaste es el que has compartido, hay un error... Te falta cerrar un corchete. Y he incluido un detalle para que los ficheros tengan como nombre los años... ?#--------------------------? ??filename<-"test1.csv" DBa<-read.csv(filename,sep="*;*" ,header=TRUE) anios<-unique(DBa$Year) for(i in 1:length(anios)) { dattmp<-DBa[DBa$Year==anios[i],*]* write.table(dattmp,file=paste(*anios[i]*,".txt",sep="")) } ?#----------------------------- Y cuidado, que a la hora de leer el fichero ".csv", el separador es ";" y no "," como has puesto... Con estos cambios, he comprobado que funciona sin problemas... Saludos, Carlos. El 11 de septiembre de 2014, 17:18, Marta valdes lopez < martavaldes85 en gmail.com> escribió:> Hola > > Muchas gracias por la respuesta,intente esto: > > ?? > filename<-"fishing.csv" > DBa<-read.csv(filename,sep=",",header=TRUE) > anios<-unique(DBa$Year) > for(i in 1:length(anios)) { > dattmp<-DBa[DBa$Year==anios [i], > write.table(dattmp,file=paste(i,".txt",sep="")) > } > > Pero no me salieron los diferentes archivos por cada año, me salieron dos > sin nada en ellos.Adjunto una parte del archivo para que veais como es el > archivo. > > Muchas gracias por vuestro tiempo, un saludo > > El 11 de septiembre de 2014, 14:46, Jorge Ayuso Rejas <jayusor en gmail.com> > escribió: > > Otra manera sería usar la función split. Que devuelve una lista de >> data.frame. >> Para expotar luego cada elemento puedes usar lapply, ejemplo: >> >> data(iris) >> lista<-split(iris,iris$Species) >> lapply(names(lista),function(x) write.table(x = lista[[x]],file >> paste0(x,".txt")) ) >> >> Saludos >> >> >> El 11 de septiembre de 2014, 14:44, Isidro Hidalgo <ihidalgo en jccm.es> >> escribió: >> >> > ¿En qué formato está: texto plano, separado por tabulaciones, de anchura >> > fija, EXCEL? ¿No puedes leerlo entero, filtrar por año y grabar cada >> parte? >> > Un saludo >> > >> > Isidro Hidalgo Arellano >> > Observatorio Regional de Empleo >> > Consejería de Empleo y Economía >> > http://www.jccm.es >> > >> > >> > >> > > -----Mensaje original----- >> > > De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- >> > > project.org] En nombre de Marta valdes lopez >> > > Enviado el: jueves, 11 de septiembre de 2014 14:33 >> > > Para: r-help-es en r-project.org >> > > Asunto: [R-es] separar un archivo por años en diferentes archivos >> > > >> > > Hola a todos, >> > > >> > > Tengo un archivo que va desde el año 2002 hasta el 2010; lo que >> quiero >> > > hacer es separar ese archivo por años.Crear un archivo para cada año, >> > > alguien sabe como podria hacerlo? >> > > >> > > Muchas gracias, un saludo >> > > >> > > [[alternative HTML version deleted]] >> > > >> > > _______________________________________________ >> > > R-help-es mailing list >> > > R-help-es en r-project.org >> > > https://stat.ethz.ch/mailman/listinfo/r-help-es >> > >> > _______________________________________________ >> > R-help-es mailing list >> > R-help-es en r-project.org >> > https://stat.ethz.ch/mailman/listinfo/r-help-es >> > >> >> >> >> -- >> Jorge Ayuso Rejas >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Marta valdes lopez
2014-Sep-12 10:03 UTC
[R-es] separar un archivo por años en diferentes archivos
El 11 de septiembre de 2014, 16:16, Carlos Ortega <cof en qualityexcellence.es> escribió:> Hola Marta, > > Si el código exacto que utilizaste es el que has compartido, hay un > error... > Te falta cerrar un corchete. Y he incluido un detalle para que los > ficheros tengan como nombre los años... > > ?#--------------------------? > ??filename<-"test1.csv" > DBa<-read.csv(filename,sep="*;*" ,header=TRUE) > anios<-unique(DBa$Year) > > for(i in 1:length(anios)) { > > dattmp<-DBa[DBa$Year==anios[i],*]* > write.table(dattmp,file=paste(*anios[i]*,".txt",sep="")) > > } > ?#----------------------------- > > Y cuidado, que a la hora de leer el fichero ".csv", el separador es ";" y > no "," como has puesto... > Con estos cambios, he comprobado que funciona sin problemas... > > Saludos, > Carlos. > > > > > El 11 de septiembre de 2014, 17:18, Marta valdes lopez < > martavaldes85 en gmail.com> escribió: > >> Hola >> >> Muchas gracias por la respuesta,intente esto: >> >> ?? >> filename<-"fishing.csv" >> DBa<-read.csv(filename,sep=",",header=TRUE) >> anios<-unique(DBa$Year) >> for(i in 1:length(anios)) { >> dattmp<-DBa[DBa$Year==anios [i], >> write.table(dattmp,file=paste(i,".txt",sep="")) >> } >> >> Pero no me salieron los diferentes archivos por cada año, me salieron dos >> sin nada en ellos.Adjunto una parte del archivo para que veais como es el >> archivo. >> >> Muchas gracias por vuestro tiempo, un saludo >> >> El 11 de septiembre de 2014, 14:46, Jorge Ayuso Rejas <jayusor en gmail.com> >> escribió: >> >> Otra manera sería usar la función split. Que devuelve una lista de >>> data.frame. >>> Para expotar luego cada elemento puedes usar lapply, ejemplo: >>> >>> data(iris) >>> lista<-split(iris,iris$Species) >>> lapply(names(lista),function(x) write.table(x = lista[[x]],file >>> paste0(x,".txt")) ) >>> >>> Saludos >>> >>> >>> El 11 de septiembre de 2014, 14:44, Isidro Hidalgo <ihidalgo en jccm.es> >>> escribió: >>> >>> > ¿En qué formato está: texto plano, separado por tabulaciones, de >>> anchura >>> > fija, EXCEL? ¿No puedes leerlo entero, filtrar por año y grabar cada >>> parte? >>> > Un saludo >>> > >>> > Isidro Hidalgo Arellano >>> > Observatorio Regional de Empleo >>> > Consejería de Empleo y Economía >>> > http://www.jccm.es >>> > >>> > >>> > >>> > > -----Mensaje original----- >>> > > De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- >>> > > project.org] En nombre de Marta valdes lopez >>> > > Enviado el: jueves, 11 de septiembre de 2014 14:33 >>> > > Para: r-help-es en r-project.org >>> > > Asunto: [R-es] separar un archivo por años en diferentes archivos >>> > > >>> > > Hola a todos, >>> > > >>> > > Tengo un archivo que va desde el año 2002 hasta el 2010; lo que >>> quiero >>> > > hacer es separar ese archivo por años.Crear un archivo para cada año, >>> > > alguien sabe como podria hacerlo? >>> > > >>> > > Muchas gracias, un saludo >>> > > >>> > > [[alternative HTML version deleted]] >>> > > >>> > > _______________________________________________ >>> > > R-help-es mailing list >>> > > R-help-es en r-project.org >>> > > https://stat.ethz.ch/mailman/listinfo/r-help-es >>> > >>> > _______________________________________________ >>> > R-help-es mailing list >>> > R-help-es en r-project.org >>> > https://stat.ethz.ch/mailman/listinfo/r-help-es >>> > >>> >>> >>> >>> -- >>> Jorge Ayuso Rejas >>> >>> [[alternative HTML version deleted]] >>> >>> _______________________________________________ >>> R-help-es mailing list >>> R-help-es en r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es >Hola Muchas gracias ya me funciono¡ usé el comando de Carlos, lo unico que me surge una duda; cuando se han creado los archivos el programa ha creado una columna nueva con codigos (que supongo sean de crear los archivos) y al pasarlo a excel no me coinciden las columnas con el titulo de cada columna, hay en el script algo que pueda poner para que esto no me pase? Siento estas preguntas de principiante..Gracias por vuestro tiempo. Un saludo, Marta [[alternative HTML version deleted]]
?write.table Fíjate si es que estas creando row.names en cuyo caso: write.table(x, file = "", row.names = FALSE) Daniel Merino El 12 de septiembre de 2014, 7:03, Marta valdes lopez < martavaldes85 en gmail.com> escribió:> El 11 de septiembre de 2014, 16:16, Carlos Ortega < > cof en qualityexcellence.es> > escribió: > > > Hola Marta, > > > > Si el código exacto que utilizaste es el que has compartido, hay un > > error... > > Te falta cerrar un corchete. Y he incluido un detalle para que los > > ficheros tengan como nombre los años... > > > > ?#--------------------------? > > ??filename<-"test1.csv" > > DBa<-read.csv(filename,sep="*;*" ,header=TRUE) > > anios<-unique(DBa$Year) > > > > for(i in 1:length(anios)) { > > > > dattmp<-DBa[DBa$Year==anios[i],*]* > > write.table(dattmp,file=paste(*anios[i]*,".txt",sep="")) > > > > } > > ?#----------------------------- > > > > Y cuidado, que a la hora de leer el fichero ".csv", el separador es ";" y > > no "," como has puesto... > > Con estos cambios, he comprobado que funciona sin problemas... > > > > Saludos, > > Carlos. > > > > > > > > > > El 11 de septiembre de 2014, 17:18, Marta valdes lopez < > > martavaldes85 en gmail.com> escribió: > > > >> Hola > >> > >> Muchas gracias por la respuesta,intente esto: > >> > >> ?? > >> filename<-"fishing.csv" > >> DBa<-read.csv(filename,sep=",",header=TRUE) > >> anios<-unique(DBa$Year) > >> for(i in 1:length(anios)) { > >> dattmp<-DBa[DBa$Year==anios [i], > >> write.table(dattmp,file=paste(i,".txt",sep="")) > >> } > >> > >> Pero no me salieron los diferentes archivos por cada año, me salieron > dos > >> sin nada en ellos.Adjunto una parte del archivo para que veais como es > el > >> archivo. > >> > >> Muchas gracias por vuestro tiempo, un saludo > >> > >> El 11 de septiembre de 2014, 14:46, Jorge Ayuso Rejas < > jayusor en gmail.com> > >> escribió: > >> > >> Otra manera sería usar la función split. Que devuelve una lista de > >>> data.frame. > >>> Para expotar luego cada elemento puedes usar lapply, ejemplo: > >>> > >>> data(iris) > >>> lista<-split(iris,iris$Species) > >>> lapply(names(lista),function(x) write.table(x = lista[[x]],file > >>> paste0(x,".txt")) ) > >>> > >>> Saludos > >>> > >>> > >>> El 11 de septiembre de 2014, 14:44, Isidro Hidalgo <ihidalgo en jccm.es> > >>> escribió: > >>> > >>> > ¿En qué formato está: texto plano, separado por tabulaciones, de > >>> anchura > >>> > fija, EXCEL? ¿No puedes leerlo entero, filtrar por año y grabar cada > >>> parte? > >>> > Un saludo > >>> > > >>> > Isidro Hidalgo Arellano > >>> > Observatorio Regional de Empleo > >>> > Consejería de Empleo y Economía > >>> > http://www.jccm.es > >>> > > >>> > > >>> > > >>> > > -----Mensaje original----- > >>> > > De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- > >>> > > project.org] En nombre de Marta valdes lopez > >>> > > Enviado el: jueves, 11 de septiembre de 2014 14:33 > >>> > > Para: r-help-es en r-project.org > >>> > > Asunto: [R-es] separar un archivo por años en diferentes archivos > >>> > > > >>> > > Hola a todos, > >>> > > > >>> > > Tengo un archivo que va desde el año 2002 hasta el 2010; lo que > >>> quiero > >>> > > hacer es separar ese archivo por años.Crear un archivo para cada > año, > >>> > > alguien sabe como podria hacerlo? > >>> > > > >>> > > Muchas gracias, un saludo > >>> > > > >>> > > [[alternative HTML version deleted]] > >>> > > > >>> > > _______________________________________________ > >>> > > R-help-es mailing list > >>> > > R-help-es en r-project.org > >>> > > https://stat.ethz.ch/mailman/listinfo/r-help-es > >>> > > >>> > _______________________________________________ > >>> > R-help-es mailing list > >>> > R-help-es en r-project.org > >>> > https://stat.ethz.ch/mailman/listinfo/r-help-es > >>> > > >>> > >>> > >>> > >>> -- > >>> Jorge Ayuso Rejas > >>> > >>> [[alternative HTML version deleted]] > >>> > >>> _______________________________________________ > >>> R-help-es mailing list > >>> R-help-es en r-project.org > >>> https://stat.ethz.ch/mailman/listinfo/r-help-es > >>> > >> > >> > >> _______________________________________________ > >> R-help-es mailing list > >> R-help-es en r-project.org > >> https://stat.ethz.ch/mailman/listinfo/r-help-es > >> > >> > > > > > > -- > > Saludos, > > Carlos Ortega > > www.qualityexcellence.es > > > > > > Hola > > Muchas gracias ya me funciono¡ usé el comando de Carlos, lo unico que me > surge una duda; cuando se han creado los archivos el programa ha creado una > columna nueva con codigos (que supongo sean de crear los archivos) y al > pasarlo a excel no me coinciden las columnas con el titulo de cada columna, > hay en el script algo que pueda poner para que esto no me pase? > > Siento estas preguntas de principiante..Gracias por vuestro tiempo. > > Un saludo, Marta > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Daniel [[alternative HTML version deleted]]