Re: [R-es] read.table con .csv separado por "|"
Estimados Yo estoy de acuerdo, en muchas oportunidades lo más sencillo es abrir el archivo con un editor de textos, reemplazar, borrar, guardar, y luego leer en R. Pero gedit no es muy apto que digamos para muchos datos, a mi me paso “colgar” Linux con gedit abriendo archivo de texto, libreoffice también se quedaba en el camino, pero Excel lo podía trabajar sin problemas, lógicamente que hay mucho sobre como se guarda, acomoda, cantidad de información, y sistema operativo, en algunas oportunidades la herramienta más básica de muchos años tiene la capacidad de acomodar archivos, pero estas son por línea de comandos, sin iconos o ayudas. Javier Rubén Marcuzzi De: miguel.angel.rodriguez.mui...@sergas.es Enviado: jueves, 19 de enero de 2017 10:45 Para: c...@datanalytics.com; m.monsa...@gmail.com CC: r-help-es@r-project.org Asunto: Re: [R-es] read.table con .csv separado por "|" Muy bueno, Carlos. Tener un "editor de texto decente" me parece BÁSICO! ...de hecho, si tienes un "editor de código de R decente" ese mismo te sirve. :-) Un saludo, -- Miguel Ángel Rodríguez Muíños Dirección Xeral de Saúde Pública Consellería de Sanidade Xunta de Galicia http://dxsp.sergas.es El 19/01/2017 a las 11:31, Carlos J. Gil Bellosta escribió: > Hola, ¿qué tal? > > Abre el fichero con un editor de texto decente. Excel no es un editor > de texto decente. Notepad, tampoco. Elige uno y hazte amigo de él para > siempre. Con su concurso, sustituye todas (¡todas sin excepción!) las > comillas por nada. > > Luego, guarda el fichero y > > read.table("datos.csv", header = T, sep = "|") > > funciona de maravilla. > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso-confidencialidad ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] read.table con .csv separado por "|"
Sensacional! Muchas gracias, Marcelino. Funcionó muy bien. Opté por el Gedit como editor de texto decente. Así que sumé por ese lado también. Gracias a la lista. Saludos. El 19 de enero de 2017, 8:25, Marcelino de la Cruz Rot < marcelino.delac...@urjc.es> escribió: > Hola, > de todas formas, si quieres una aproximación sólo con R puedes conseguirlo > en estos cómodos pasos: > > > nombres<-read.table("datos.csv",nrows=1, sep="|") > datos <-read.table("datos.csv", sep="|",skip=1, encoding="UTF-8") > datos<-apply(datos, 1, function(x) strsplit(as.character(x),"[|]")) > datos<- sapply(datos, function(x) unlist(lapply(x, function(y) chartr('"', > ' ',y > datos<- as.data.frame(t(as.data.frame(datos))) > names(datos)<-as.character(unlist(nombres)) > datos > > Probablemente luego necesitarás reconvertir las variables numéricas (las > lee como factores) con algo como: > datos$d_nomenclador<- as.numeric(as.character(datos$d_nomenclador)) > > Pero lo haces todo en R, que es de lo que se trata. > ¿O no? ;-) > > Saludos, > > Marcelino > > > > > El 19/01/2017 a las 11:31, Mauricio Monsalvo escribió: > > Tenía la versión data.table 1.9.6.- Actualicé a la data.table 1.10.0 y > funcionó tal cual lo indicás. Muchas gracias. > Para eliminar las " adicionales estoy usando: > library(stringr) > library(plyr) > datos$d_nomenclador <- str_replace(datos$d_nomenclador, pattern='\\","', > replacement="") > datos$nomenclador_descripcion<- str_replace(datos$nomenclador_descripcion, > pattern='\\","', replacement="") > Pero elimina las del principio y sigo con problemas con las del final, como > si no las reconociera (debería: en el Excel cuando corro el reemplazar " > por [nada] elimina todas. > Las dos variables son chr. > head(datos) >d_nomenclador baja_nomenclador nomenclador_descripcion > nomenclador_asociado > 1: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" > "20" > 2: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" > "20" > 3: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" > "20" > 4: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" > "20" > 5: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" > "20" > 6: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" > "20" > > > El 19 de enero de 2017, 4:25, Carlos Ortega> > escribió: > > > ¿Qué versión usas de data.table?. > Yo tengo la 1.10.0... creo que es la última... > > Saludos, > Carlos Otegawww.qualityexcellence.es > > El 19 de enero de 2017, 1:30, Mauricio Monsalvo > > escribió: > > > No le gustó: > Error in fread("datos.csv", sep = "|", header = TRUE, quote = "") : > unused argument (quote = "") > > > El 18 de enero de 2017, 20:35, Carlos Ortega > > escribió: > > > Hola, > > Prueba con esto: > > fread("datos.csv", sep = "|", header = TRUE, quote="") > > Con el parámetro quote, ignora las comillas del principio. > No elimina todas, pero te permite cargar el conjunto sin problemas. > Una vez cargado, ya puedes limpiar las columnas, quitando las comillas > adicionales, etc... > > Saludos, > Carlos Ortegawww.qualityexcellence.es > > El 19 de enero de 2017, 0:22, Mauricio Monsalvo > > escribió: > > > Hola. > Tengo un archivo que viene separado por "|" y a su vez con (casi) todos > los campos entre comillas ("..."), incluso los valores numéricos. Adjunto > algunos datos de prueba. El error que da es que no encuentra 14 elementos > en las filas (son 15 variables). > Probé algunas variantes y traté de orientarme por la ayuda y Stack > (http://stackoverflow.com/search?q=read.table+sep%3D%22%7C%22), pero no > encontré mejor solución que: > 1) Abrir el archivo con Excel. > 2) Reemplazar | por ; > 3) Reemplazar " por [nada]; > 4) Abrirlo con: > datos <- read.table("datos.csv" , header=T, sep=";", dec=".", quote = > "", encoding = "UTF-8") > y digamos que funciona, salvo que la primera variable contiene un " al > inicio ("67, "67, "etc) y la última siempre termina con un " (ACCIDENTADO > CRITICO", NIÑO NEONATO", "etc).- > ¿Podrían ayudarme a levantarlo de una (separado por | y con los datos > entre "") o bien a levantarlo luego del replace sin esas incómodas " al > inicio de la primera variable y al final de la última? > Muchas gracias. > Saludos! > > -- > Mauricio > > ___ > R-help-es mailing > listR-help-es@r-project.orghttps://stat.ethz.ch/mailman/listinfo/r-help-es > > > > -- > Saludos, > Carlos Ortegawww.qualityexcellence.es > > > > -- > Mauricio > > > > > -- > Saludos, > Carlos Ortegawww.qualityexcellence.es > > > > > -- > Marcelino de la Cruz Rot > Depto. de Biología y
Re: [R-es] read.table con .csv separado por "|"
Muy bueno, Carlos. Tener un "editor de texto decente" me parece BÁSICO! ...de hecho, si tienes un "editor de código de R decente" ese mismo te sirve. :-) Un saludo, -- Miguel Ángel Rodríguez Muíños Dirección Xeral de Saúde Pública Consellería de Sanidade Xunta de Galicia http://dxsp.sergas.es El 19/01/2017 a las 11:31, Carlos J. Gil Bellosta escribió: > Hola, ¿qué tal? > > Abre el fichero con un editor de texto decente. Excel no es un editor > de texto decente. Notepad, tampoco. Elige uno y hazte amigo de él para > siempre. Con su concurso, sustituye todas (¡todas sin excepción!) las > comillas por nada. > > Luego, guarda el fichero y > > read.table("datos.csv", header = T, sep = "|") > > funciona de maravilla. > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso-confidencialidad ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] read.table con .csv separado por "|"
Muchas gracias por tu sugerencia, Carlos. Andamos cortos de decencia por estos pagos, pero la voy a tomar en cuenta si no logro hacer el str_replace una vez cargado el archivo con fread!! El 19 de enero de 2017, 7:31, Carlos J. Gil Bellostaescribió: > Hola, ¿qué tal? > > Abre el fichero con un editor de texto decente. Excel no es un editor > de texto decente. Notepad, tampoco. Elige uno y hazte amigo de él para > siempre. Con su concurso, sustituye todas (¡todas sin excepción!) las > comillas por nada. > > Luego, guarda el fichero y > > read.table("datos.csv", header = T, sep = "|") > > funciona de maravilla. > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > > > El día 19 de enero de 2017, 0:22, Mauricio Monsalvo > escribió: > > Hola. > > Tengo un archivo que viene separado por "|" y a su vez con (casi) todos > los > > campos entre comillas ("..."), incluso los valores numéricos. Adjunto > > algunos datos de prueba. El error que da es que no encuentra 14 > elementos en > > las filas (son 15 variables). > > Probé algunas variantes y traté de orientarme por la ayuda y Stack > > (http://stackoverflow.com/search?q=read.table+sep%3D%22%7C%22), pero no > > encontré mejor solución que: > > 1) Abrir el archivo con Excel. > > 2) Reemplazar | por ; > > 3) Reemplazar " por [nada]; > > 4) Abrirlo con: > > datos <- read.table("datos.csv" , header=T, sep=";", dec=".", quote = "", > > encoding = "UTF-8") > > y digamos que funciona, salvo que la primera variable contiene un " al > > inicio ("67, "67, "etc) y la última siempre termina con un " (ACCIDENTADO > > CRITICO", NIÑO NEONATO", "etc).- > > ¿Podrían ayudarme a levantarlo de una (separado por | y con los datos > entre > > "") o bien a levantarlo luego del replace sin esas incómodas " al inicio > de > > la primera variable y al final de la última? > > Muchas gracias. > > Saludos! > > > > -- > > Mauricio > > > > ___ > > R-help-es mailing list > > R-help-es@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Mauricio [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] read.table con .csv separado por "|"
Tenía la versión data.table 1.9.6.- Actualicé a la data.table 1.10.0 y funcionó tal cual lo indicás. Muchas gracias. Para eliminar las " adicionales estoy usando: library(stringr) library(plyr) datos$d_nomenclador <- str_replace(datos$d_nomenclador, pattern='\\","', replacement="") datos$nomenclador_descripcion<- str_replace(datos$nomenclador_descripcion, pattern='\\","', replacement="") Pero elimina las del principio y sigo con problemas con las del final, como si no las reconociera (debería: en el Excel cuando corro el reemplazar " por [nada] elimina todas. Las dos variables son chr. head(datos) d_nomenclador baja_nomenclador nomenclador_descripcion nomenclador_asociado 1: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" "20" 2: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" "20" 3: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" "20" 4: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" "20" 5: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" "20" 6: 67" NA NOMENCLADOR GCBA Res. 1893 Vig. 09-2016" "20" El 19 de enero de 2017, 4:25, Carlos Ortegaescribió: > ¿Qué versión usas de data.table?. > Yo tengo la 1.10.0... creo que es la última... > > Saludos, > Carlos Otega > www.qualityexcellence.es > > El 19 de enero de 2017, 1:30, Mauricio Monsalvo > escribió: > >> No le gustó: >> Error in fread("datos.csv", sep = "|", header = TRUE, quote = "") : >> unused argument (quote = "") >> >> >> El 18 de enero de 2017, 20:35, Carlos Ortega >> escribió: >> >>> Hola, >>> >>> Prueba con esto: >>> >>> fread("datos.csv", sep = "|", header = TRUE, quote="") >>> >>> Con el parámetro quote, ignora las comillas del principio. >>> No elimina todas, pero te permite cargar el conjunto sin problemas. >>> Una vez cargado, ya puedes limpiar las columnas, quitando las comillas >>> adicionales, etc... >>> >>> Saludos, >>> Carlos Ortega >>> www.qualityexcellence.es >>> >>> El 19 de enero de 2017, 0:22, Mauricio Monsalvo >>> escribió: >>> Hola. Tengo un archivo que viene separado por "|" y a su vez con (casi) todos los campos entre comillas ("..."), incluso los valores numéricos. Adjunto algunos datos de prueba. El error que da es que no encuentra 14 elementos en las filas (son 15 variables). Probé algunas variantes y traté de orientarme por la ayuda y Stack ( http://stackoverflow.com/search?q=read.table+sep%3D%22%7C%22), pero no encontré mejor solución que: 1) Abrir el archivo con Excel. 2) Reemplazar | por ; 3) Reemplazar " por [nada]; 4) Abrirlo con: datos <- read.table("datos.csv" , header=T, sep=";", dec=".", quote = "", encoding = "UTF-8") y digamos que funciona, salvo que la primera variable contiene un " al inicio ("67, "67, "etc) y la última siempre termina con un " (ACCIDENTADO CRITICO", NIÑO NEONATO", "etc).- ¿Podrían ayudarme a levantarlo de una (separado por | y con los datos entre "") o bien a levantarlo luego del replace sin esas incómodas " al inicio de la primera variable y al final de la última? Muchas gracias. Saludos! -- Mauricio ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >>> >>> >>> -- >>> Saludos, >>> Carlos Ortega >>> www.qualityexcellence.es >>> >> >> >> >> -- >> Mauricio >> > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es > -- Mauricio [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] read.table con .csv separado por "|"
Hola, ¿qué tal? Abre el fichero con un editor de texto decente. Excel no es un editor de texto decente. Notepad, tampoco. Elige uno y hazte amigo de él para siempre. Con su concurso, sustituye todas (¡todas sin excepción!) las comillas por nada. Luego, guarda el fichero y read.table("datos.csv", header = T, sep = "|") funciona de maravilla. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 19 de enero de 2017, 0:22, Mauricio Monsalvoescribió: > Hola. > Tengo un archivo que viene separado por "|" y a su vez con (casi) todos los > campos entre comillas ("..."), incluso los valores numéricos. Adjunto > algunos datos de prueba. El error que da es que no encuentra 14 elementos en > las filas (son 15 variables). > Probé algunas variantes y traté de orientarme por la ayuda y Stack > (http://stackoverflow.com/search?q=read.table+sep%3D%22%7C%22), pero no > encontré mejor solución que: > 1) Abrir el archivo con Excel. > 2) Reemplazar | por ; > 3) Reemplazar " por [nada]; > 4) Abrirlo con: > datos <- read.table("datos.csv" , header=T, sep=";", dec=".", quote = "", > encoding = "UTF-8") > y digamos que funciona, salvo que la primera variable contiene un " al > inicio ("67, "67, "etc) y la última siempre termina con un " (ACCIDENTADO > CRITICO", NIÑO NEONATO", "etc).- > ¿Podrían ayudarme a levantarlo de una (separado por | y con los datos entre > "") o bien a levantarlo luego del replace sin esas incómodas " al inicio de > la primera variable y al final de la última? > Muchas gracias. > Saludos! > > -- > Mauricio > > ___ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] read.table con .csv separado por "|"
¿Qué versión usas de data.table?. Yo tengo la 1.10.0... creo que es la última... Saludos, Carlos Otega www.qualityexcellence.es El 19 de enero de 2017, 1:30, Mauricio Monsalvoescribió: > No le gustó: > Error in fread("datos.csv", sep = "|", header = TRUE, quote = "") : > unused argument (quote = "") > > > El 18 de enero de 2017, 20:35, Carlos Ortega > escribió: > >> Hola, >> >> Prueba con esto: >> >> fread("datos.csv", sep = "|", header = TRUE, quote="") >> >> Con el parámetro quote, ignora las comillas del principio. >> No elimina todas, pero te permite cargar el conjunto sin problemas. >> Una vez cargado, ya puedes limpiar las columnas, quitando las comillas >> adicionales, etc... >> >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> El 19 de enero de 2017, 0:22, Mauricio Monsalvo >> escribió: >> >>> Hola. >>> Tengo un archivo que viene separado por "|" y a su vez con (casi) todos >>> los campos entre comillas ("..."), incluso los valores numéricos. Adjunto >>> algunos datos de prueba. El error que da es que no encuentra 14 elementos >>> en las filas (son 15 variables). >>> Probé algunas variantes y traté de orientarme por la ayuda y Stack ( >>> http://stackoverflow.com/search?q=read.table+sep%3D%22%7C%22), pero no >>> encontré mejor solución que: >>> 1) Abrir el archivo con Excel. >>> 2) Reemplazar | por ; >>> 3) Reemplazar " por [nada]; >>> 4) Abrirlo con: >>> datos <- read.table("datos.csv" , header=T, sep=";", dec=".", quote = >>> "", encoding = "UTF-8") >>> y digamos que funciona, salvo que la primera variable contiene un " al >>> inicio ("67, "67, "etc) y la última siempre termina con un " (ACCIDENTADO >>> CRITICO", NIÑO NEONATO", "etc).- >>> ¿Podrían ayudarme a levantarlo de una (separado por | y con los datos >>> entre "") o bien a levantarlo luego del replace sin esas incómodas " al >>> inicio de la primera variable y al final de la última? >>> Muchas gracias. >>> Saludos! >>> >>> -- >>> Mauricio >>> >>> ___ >>> R-help-es mailing list >>> R-help-es@r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>> >> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> > > > > -- > Mauricio > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] read.table con .csv separado por "|"
Hola, Prueba con esto: fread("datos.csv", sep = "|", header = TRUE, quote="") Con el parámetro quote, ignora las comillas del principio. No elimina todas, pero te permite cargar el conjunto sin problemas. Una vez cargado, ya puedes limpiar las columnas, quitando las comillas adicionales, etc... Saludos, Carlos Ortega www.qualityexcellence.es El 19 de enero de 2017, 0:22, Mauricio Monsalvoescribió: > Hola. > Tengo un archivo que viene separado por "|" y a su vez con (casi) todos > los campos entre comillas ("..."), incluso los valores numéricos. Adjunto > algunos datos de prueba. El error que da es que no encuentra 14 elementos > en las filas (son 15 variables). > Probé algunas variantes y traté de orientarme por la ayuda y Stack ( > http://stackoverflow.com/search?q=read.table+sep%3D%22%7C%22), pero no > encontré mejor solución que: > 1) Abrir el archivo con Excel. > 2) Reemplazar | por ; > 3) Reemplazar " por [nada]; > 4) Abrirlo con: > datos <- read.table("datos.csv" , header=T, sep=";", dec=".", quote = "", > encoding = "UTF-8") > y digamos que funciona, salvo que la primera variable contiene un " al > inicio ("67, "67, "etc) y la última siempre termina con un " (ACCIDENTADO > CRITICO", NIÑO NEONATO", "etc).- > ¿Podrían ayudarme a levantarlo de una (separado por | y con los datos > entre "") o bien a levantarlo luego del replace sin esas incómodas " al > inicio de la primera variable y al final de la última? > Muchas gracias. > Saludos! > > -- > Mauricio > > ___ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es