Estimado Jesús Para Fernández

Por regla al guardar la información hay que informar donde se separa, en su 
caso hay dos casos, comas y espacios, no se como llego a eso, pero yo 
intentaría de escribir nuevamente el fichero con los datos, ¿Cuántos datos son? 
Porque si entran en la capacidad de una hoja de cálculos, posiblemente con 
Excel al importarlos pueda marcar la separación de campos, luego guardar esto 
en otro archivo e importarlo en R. Posiblemente es más sencillo que awk, pero 
también el trabajar con cadenas puede ser muy útil (yo se hacerlo), la única 
recomendación es conocer muy bien la separación, porque puede ser que dentro de 
los datos hay una condición válida como cadena reconocida por el lenguaje 
informático pero que no es una separación real de datos. Por ejemplo, yo vivo 
en una provincia que se llama Santa Fe, si se busca una cadena donde hay un 
espacio entre las palabras como separación de datos, estaría cometiendo un 
error, por otro lado si busco más de dos espacios en blanco entre palabras como 
separación de datos, posiblemente vino espumoso, quedaría como un dato, cuándo 
en realidad puede ser bebida vino, categoría de bebida espumoso.

En su ejemplo no hay palabras, hay números, un posible error puede ser la 
separación decimal o puntuación de miles (, y .), particularidad que se define 
en el sistema operativo y si se comparten datos por ahí viene un archivo con 
alguna codificación no pensada.

Javier Rubén Marcuzzi

De: Jesús Para Fernández
Enviado: lunes, 9 de enero de 2017 10:06
Para: Carlos Ortega
CC: r-help-es@r-project.org
Asunto: Re: [R-es] Leer csv separado por comas y por espacios

Pens� que ser�a mucho m�s sencillo.


Al final optar� por lo que he hecho, el strstrip


Gracias de todos modos

Jes�s


________________________________
De: Carlos Ortega <c...@qualityexcellence.es>
Enviado: lunes, 9 de enero de 2017 12:49
Para: Jes�s Para Fern�ndez
Cc: r-help-es@r-project.org
Asunto: Re: [R-es] Leer csv separado por comas y por espacios

Hola,

El par�metro "sep" de "read.csv()" ha de ser �nico. No puedes utilizar varias 
opciones, aunque es cierto que en la documentaci�n no lo advierte. Por lo que 
tienes que utilizar otra estrategia para leer el fichero.

Te sugerir�a varias cosas:

  *   Probar con la funci�n "fread()" del paquete "data.table" que es algo m�s 
inteligente que read.csv. Aunque no tengo claro que realmente te vaya a 
funcionar... pero por probar...
  *   Una segunda opci�n es un poco m�s trabajosa que es el leer el fichero con 
"readLines", de esta forma te generar� un data.frame con una fila por l�nea del 
fichero. Luego tendr�s que construir una l�gica para que si la l�nea tiene "," 
como separador separes las variables y si el separador es un "tab" que haga lo 
propio.
  *   Otra opci�n m�s limpia y sencilla es pre-procesar el fichero en el SO con 
funciones del tipo "sed", "awk" y dejarlo con el formato, separadores que m�s 
te interese.
  *   Y si el fichero tiene bloques con "," y otros bloques con "tab" como 
separador, puedes utilizar "read.table" y decir que vaya saltando el n�mero de 
filas, que no tienen el separador que has definido...

Saludos,
Carlos Ortega
www.qualityexcellence.es<http://www.qualityexcellence.es>
[http://qualityexcellence.es/images/1_blanco.jpg]<http://www.qualityexcellence.es/>

QualityExcellence<http://www.qualityexcellence.es/>
www.qualityexcellence.es
QUALITY EXCELLENCE, consultores en calidad, procesos y mejora continua


El 9 de enero de 2017, 9:42, Jes�s Para Fern�ndez 
<j.para.fernan...@hotmail.com<mailto:j.para.fernan...@hotmail.com>> escribi�:
Buenas compa�eros!


Tengo una duda y no se muy bine como resolverlo. Tengo un csv en el que hay 
variables separadas por comas y otras esparadas por espacios (tabulaciones). 
Algo as�


V1    V2   V3,V4

M1   123   2512,2522

M2   117   2852,3521

...................................



Para leerlo he probado poniendo:


datos<-read.csv("c:/datos/listado.txt",sep=c(",","","\t"),header=F)


Pero no me funciona, es decir, la separada por el espacio en blanco no la 
distingue y la mete en lo mismo.


Lo he solucionado hacinedo un strsplit pero es un poco co�azo andar parcheando 
algo que tendria que leer bien directametne.


�Alguna idea de porque no est� cogiendo bien el fichero?


Gracias

Jes�s

        [[alternative HTML version deleted]]


_______________________________________________
R-help-es mailing list
R-help-es@r-project.org<mailto:R-help-es@r-project.org>
https://stat.ethz.ch/mailman/listinfo/r-help-es



--
Saludos,
Carlos Ortega
www.qualityexcellence.es<http://www.qualityexcellence.es>

        [[alternative HTML version deleted]]



        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a