[R-es] Leer un txt a trozos

Javier Nieto m@c_j@v| @end|ng |rom hotm@||@com
Mar Feb 12 22:47:08 CET 2019


Aunque prefiero desde un terminal con sed, otra forma de hacerlo sin loops en R ser�a as�:

file <- "texto.txt"

my.Data <- readChar(file, file.info(file)$size)

my.Data <- gsub("(col1 col2 col3 col4\r\n)+", "", my.Data)
my.Data <- gsub("time [0-9]+\r\n", "", my.Data)
my.Data <- gsub("end\r\n|end$", "", my.Data)
my.Data <- gsub("(\r\n)$", "", my.Data)
my.Data <- gsub("^$\r\n", "", my.Data)
my.Data <- gsub("(\r\n)+", "\n", my.Data)


my.Data <- read.table(text = my.Data, sep = " ", header = F, stringsAsFactors = F)
names(my.Data) <- c("col1", "col2", "col3", "col4")

my.Data

S�lo debes tener cuidado con los saltos de l�nea y retorno de carro as� como del separador de tus columnas.

Saludos
________________________________
De: R-help-es <r-help-es-bounces using r-project.org> en nombre de Eric <ericconchamunoz using gmail.com>
Enviado: martes, 12 de febrero de 2019 03:27 p. m.
Para: Jaume Tormo; r-help-es using r-project.org
Asunto: Re: [R-es] Leer un txt a trozos

Si importas esa tabla de datos en una planilla electr�nica y ordenas por
la primera columna, f�cilmente puedes eliminar todos los time X, end y
nombres de columna y luego importar todos los datos juntos de la forma
normal en R. Me ha tocado hacerlo muchas veces y es lo mas eficiente. Lo
otro es hacer un peque�o loop en R pero eso le toma muchos mas tiempo a
R ejecutarlo que a ti hacerlo a mano.

Saludos !!

Eric.



On 12/02/2019 15:16, Jaume Tormo wrote:
> Estimad using s eRRer using s,
>
> Tengo un txt que quiero importar a R.
> Pero no tiene un formato adecuado para usar cosas normales, como por
> ejemplo read.csv()
> El formato es algo as�:
> time 1
> col1 col2 col3 col4
> dato dato dato dato
> dato dato dato dato
> dato dato dato dato
> dato dato dato dato
> dato dato dato dato
> end
>
> time 2
> col1 col2 col3 col4
> dato dato dato dato
> dato dato dato dato
> dato dato dato dato
> dato dato dato dato
> dato dato dato dato
> end
>
> time 3
> col1 col2 col3 col4
> dato dato dato dato
> dato dato dato dato
> dato dato dato dato
> dato dato dato dato
> dato dato dato dato
> end
>
> Lo que me gustar�a decirle a R es "ves a donde pone time y tr�ete X lineas"
> o "ves a donde pone time y tr�ete lineas hasta que llegues a end"
> En realidad debe ser bastante f�cil, todas las tablas empiezan con time y
> acaban con end y tienen el mismo numero de filas.
> He estado mirando readPlain(), scan(), readfile()... pero le puedes decir
> cuantas lineas leer pero no donde empezar... creo.
> �Alguna pista de por donde puedo empezar a mirar?
>
> Muchas gracias.
>
>

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

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es