Jesús Para Fernández
2016-Sep-14 09:46 UTC
[R-es] Saltar filas no numericas al importar csv
Buenas Quiero saltar las filas no numericas al importar un csv. Saltar las primeras filas es facil, con el read.csv("datos.csv",skip=30) El problema es que el csv tiene cada x filas un encabezado, y quiero que excel solo pille los datos. ¿Cómo podría hacerlo? Gracias Jesús [[alternative HTML version deleted]]
Isidro Hidalgo Arellano
2016-Sep-14 10:17 UTC
[R-es] Saltar filas no numericas al importar csv
Hola: Yo lo que hago en esos casos es cargar una fila de datos. Con is.numeric() sabes si es numérico o no toda la columna, y luego cargo sólo las que lo son... Espero que te sirva. Isidro Hidalgo Arellano Observatorio del Mercado de Trabajo Consejería de Economía, Empresas y Empleo http://www.castillalamancha.es/ -----Mensaje original----- De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de Jesús Para Fernández Enviado el: miércoles, 14 de septiembre de 2016 11:47 Para: r-help-es en r-project.org Asunto: [R-es] Saltar filas no numericas al importar csv Buenas Quiero saltar las filas no numericas al importar un csv. Saltar las primeras filas es facil, con el read.csv("datos.csv",skip=30) El problema es que el csv tiene cada x filas un encabezado, y quiero que excel solo pille los datos. ?C?mo podr?a hacerlo? Gracias Jes?s [[alternative HTML version deleted]]
Jesús Para Fernández
2016-Sep-14 10:36 UTC
[R-es] Saltar filas no numericas al importar csv
Voy a probar. Gracias!!! ________________________________ De: Isidro Hidalgo Arellano <ihidalgo en jccm.es> Enviado: miércoles, 14 de septiembre de 2016 12:17 Para: 'Jesús Para Fernández'; r-help-es en r-project.org Asunto: RE: [R-es] Saltar filas no numericas al importar csv Hola: Yo lo que hago en esos casos es cargar una fila de datos. Con is.numeric() sabes si es numérico o no toda la columna, y luego cargo sólo las que lo son... Espero que te sirva. Isidro Hidalgo Arellano Observatorio del Mercado de Trabajo Consejería de Economía, Empresas y Empleo http://www.castillalamancha.es/ Inicio | Gobierno de Castilla-La Mancha<http://www.castillalamancha.es/> www.castillalamancha.es Web oficial del gobierno autonómico de Castilla-La Mancha con información sobre actividad administrativa, economía, educación, sanidad, servicios sociales, sede ... -----Mensaje original----- De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de Jesús Para Fernández Enviado el: miércoles, 14 de septiembre de 2016 11:47 Para: r-help-es en r-project.org Asunto: [R-es] Saltar filas no numericas al importar csv Buenas Quiero saltar las filas no numericas al importar un csv. Saltar las primeras filas es facil, con el read.csv("datos.csv",skip=30) El problema es que el csv tiene cada x filas un encabezado, y quiero que excel solo pille los datos. ?C?mo podr?a hacerlo? Gracias Jes?s [[alternative HTML version deleted]] [[alternative HTML version deleted]]
Jesús Para Fernández
2016-Sep-14 10:41 UTC
[R-es] Saltar filas no numericas al importar csv
No me vale, porque no es un problema de columnas, es de filas. Cuando importo el csv, como tiene cada columna segun la fila o numeros o texto, R convierte la columna automaticametne en factor. He probado a convertir las columnas a numeric, pero tampoco me vale, ya que transforma el texto a numeros.... ¿Alguna alternativa? estoy pensando ne poner skip y ne el skip meter las letras del abecedario. ________________________________ De: Isidro Hidalgo Arellano <ihidalgo en jccm.es> Enviado: miércoles, 14 de septiembre de 2016 12:17 Para: 'Jesús Para Fernández'; r-help-es en r-project.org Asunto: RE: [R-es] Saltar filas no numericas al importar csv Hola: Yo lo que hago en esos casos es cargar una fila de datos. Con is.numeric() sabes si es numérico o no toda la columna, y luego cargo sólo las que lo son... Espero que te sirva. Isidro Hidalgo Arellano Observatorio del Mercado de Trabajo Consejería de Economía, Empresas y Empleo http://www.castillalamancha.es/ Inicio | Gobierno de Castilla-La Mancha<http://www.castillalamancha.es/> www.castillalamancha.es Web oficial del gobierno autonómico de Castilla-La Mancha con información sobre actividad administrativa, economía, educación, sanidad, servicios sociales, sede ... -----Mensaje original----- De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de Jesús Para Fernández Enviado el: miércoles, 14 de septiembre de 2016 11:47 Para: r-help-es en r-project.org Asunto: [R-es] Saltar filas no numericas al importar csv Buenas Quiero saltar las filas no numericas al importar un csv. Saltar las primeras filas es facil, con el read.csv("datos.csv",skip=30) El problema es que el csv tiene cada x filas un encabezado, y quiero que excel solo pille los datos. ?C?mo podr?a hacerlo? Gracias Jes?s [[alternative HTML version deleted]] [[alternative HTML version deleted]]
javier.ruben.marcuzzi en gmail.com
2016-Sep-14 16:37 UTC
[R-es] Saltar filas no numericas al importar csv
Estimado Jesús Para Fernández Entonces entiendo que el problema no es justo el saltar filas no numéricas, posiblemente en el siguiente ejemplo se explique el problema. Los datos son algo como columnas y cada cierta cantidad un encabezado como Nombre Árbol identificación altura color Pino navidad Pino 1 3 verde Pino 2 2 verde claro ?. ? ? ? ? Pino jardín Pino 699 6 verde ¿Usted tiene los datos en un archivo de texto aproximado al ejemplo? Javier Rubén Marcuzzi De: Jesús Para Fernández [[alternative HTML version deleted]]
Si: Las filas no numéricas tienen algún patrón Estas en un ambiente linux (aunque actualmente también se puede hacer en windows) Y pensando fuera de R o usando system Puedes usar sed antes de levantar los datos: sed -i '/patrón/d' archivo.csv Saludos. Fernando Macedo El 14/09/16 a las 13:37, javier.ruben.marcuzzi en gmail.com escribió:> Estimado Jesús Para Fernández > > Entonces entiendo que el problema no es justo el saltar filas no numéricas, posiblemente en el siguiente ejemplo se explique el problema. > > Los datos son algo como columnas y cada cierta cantidad un encabezado como > > Nombre Árbol identificación altura color > Pino navidad > Pino 1 3 verde > Pino 2 2 verde claro > ?. ? ? ? ? > Pino jardín > Pino 699 6 verde > > ¿Usted tiene los datos en un archivo de texto aproximado al ejemplo? > > Javier Rubén Marcuzzi > > De: Jesús Para Fernández > [[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
Hola Jesus, si aun no lo has arreglado, prueba esto. Si dices que todos los valores de las filas de datos son numericas, deberia hacerte el apaño ## informacion del nombre del archivo y separacion de columnas archivo <- 'mi archivo.csv' # con las comillas, y con la ruta al archivo si no esta en el directorio sep <- '\t' # en mi caso, pero comprueba tu archivo ## codigo dat <- readLines(archivo) dat <- as.list(dat) dat <- sapply(dat, strsplit,split=sep) encabezado <- dat[[1]] dat <- lapply(dat, as.numeric) filas <- which(!is.na(sapply(dat,sum))) datos <- dat[filas] datos <- data.frame(t(sapply(datos, cbind))) names(datos) <- encabezado Te deberia lanzar unos mensajes de error cuando hagas el lapply (dat, as.numeric) ya que fuerza a las filas no numericas a ser de NA's. Concretamente, un mensaje de error por cada encabezado. Lo 'coj...' es que si eso mismo lo meto en una funcion no funciona, pero las lineas que te pego las he probado con un fichero falso y el resultado era correcto. A ver si esto te sirve SaludosFer El Miércoles 14 de septiembre de 2016 19:52, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió: Buenas Quiero saltar las filas no numericas al importar un csv. Saltar las primeras filas es facil, con el read.csv("datos.csv",skip=30) El problema es que el csv tiene cada x filas un encabezado, y quiero que excel solo pille los datos. ??o podr? hacerlo? Gracias Jes? [[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 [[alternative HTML version deleted]]