[R-es] Lectura fichero complejo

eric ericconchamunoz en gmail.com
Mar Dic 16 18:07:09 CET 2014


Esto funciona con los datos que enviaste ... es carretero porque no se
mucho de R y seguro alguien lo puede refinar




setwd("/home/neo/Desktop")
# "n" es el numero de tablas que hay que leer, al menos en esta version
simple de codigo hay que saberlo de antemano
n <- 4
# indice q controla la lectura
i <- 0
# df para reunir todos los datos
todoslosdatos <- data.frame(1,2,3,4,5,6,7,8,9,10,11,12,13,14)
colnames(todoslosdatos ) <-
c("Day","Jan","Feb","MAr","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Agno")

# lectura secuencial de los trozos de tablas y formacion de un
data.frame con todo
for (i in 0:n)
{
  # para calcular el salto que debe dar cada vez que lee el archivo
  salto <- 8 + 39*i
  # lectura del trozo de archivo que interesa
  datos <- read.table("smallSPN.txt", header=FALSE, sep="", na.strings =
"NA", skip=salto, nrows=31)
  # al trozo leido hay que agregarlo una columna con el año para
diferenciarlo del resto
  datos[,14] <- 1610 + i
  # encabezado para las columnas, para que funcione rbind
  colnames(datos ) <-
c("Day","Jan","Feb","MAr","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Agno")
  # unir el trozo leido con los demas
  todoslosdatos <- rbind(todoslosdatos,datos)

  # pasar al siguiente trozo de tabla
i <- i + 1

}





Tienes que borra la primera fila del df que existe solo porque no se
hacer un data.frame vacio.

Haaa un detalle, introduje manualmente dos filas extras al comienzo del
archivo original que enviaste para que coincidiera el numero de filas
entre cada trozo de archivo que hay que leer y no tener que considerar
eso en el codigo, me explico claramente ? ... quiero decir que entre
tablas de datos hay 8 filas, en cambio, antes de la primera tabla hay
solo 6, de modo que agregue 2 a mano :)

Ojala te sirva,

Slds, eric.






On 16/12/14 12:41, "Hector Gómez Fuerte" wrote:
> Buenas tardes.
> A ver si alguien me puede echar una mano con este problema, que me
> parece  me está superando. El fichero de texto que adjunto es la serie
> del sunspot number  desde 1610 hasta 1614 (el que realmente quiero leer
> es mucho más grade, llega hasta 1995 con el mismo formato). Cada tabla
> contiene los valores diarios para un año (las medias no me interesan).
> Quiero leerlo con el R y convertirlo en una serie temporal estándar
> univariante.
> Saludos y muchas gracias.
>  
> Héctor Gómez
> 
> 
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
> 

-- 
Forest Engineer
Master in Environmental and Natural Resource Economics
Ph.D. student in Sciences of Natural Resources at La Frontera University
Member in AguaDeTemu2030, citizen movement for Temuco with green city
standards for living

Nota: Las tildes se han omitido para asegurar compatibilidad con algunos
lectores de correo.



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