Skip to content
Prev 6259 / 15379 Next

[R-es] Conversión de objeto temporal (TS) a matriz (o data.frame)

Hola:

Ante todo, gracias por las respuestas.

El 03/06/13 01:23, Oscar Perpiñán Lamigueiro escribió:
¡Hum! No estoy seguro de que agregar sea lo que quiero hacer.
Posiblemente sea por desconocimiento de la clase zoo pero... no veo el 
camino para realizar las distintas operaciones que estoy realizando, por 
ejemplo:

# Creación de la matriz de salida.
   matriz.salida<-data.frame(
     ndatos= apply(x.matriz,2,function(x) length(which(!is.na(x)))),
     vminimo= formatC(
       apply(x.matriz,2,function(x) min(x,na.rm=T)),
       dig=2,format="f"),
     vmax=formatC(
       apply(x.matriz,2,function(x) max(x,na.rm=T)),
       dig=2,format="f"),
     media=formatC(
       apply(x.matriz,2,function(x) mean(x,na.rm=T)),
       dig=2,format="f"),
     mediana=formatC(
       apply(x.matriz,2,function(x) median(x,na.rm=T)),
       dig=2,format="f"),
     desvtip=formatC(
       apply(x.matriz,2,function(x) sd(x,na.rm=T)),
       dig=2,format="f"),
     varianza=formatC(
       apply(x.matriz,2,function(x) var(x,na.rm=T)),
       dig=2,format="f"),
     shapiro.valor=formatC(
       aux.shapiro[1,],dig=4,format="f"),
     shapiro.valp=formatC(
       aux.shapiro[2,],dig=4,format="f")
     )

Siendo x.matriz un objeto TS convertido a matriz. Aux.shapiro la calculo 
así:

# Prueba de Shapiro y Wilk
   aux.shapiro<-matrix(unlist(apply(x.matriz,2,function(x)
     shapiro.test(x)[1:2])),
     ncol=12,nrow=2)

¡Ah, vale!:

aggregate(z,by=month,FUN=shapiro.test)

(Aunque esto me fuerza a tirar a la basura la función que había 
construido -con mi buen rato que me había llevado- y hacerla de nuevo)

Última pregunta, con un objeto ts es muy fácil llevarlo a un documento 
como una tabla: xtable(objeto.ts), ¿y con un objeto zoo? (Estoy buscando 
y nada)

Y otra, ¿convertir objetos ts a zoo y viceversa? Estoy probando con 
as.ts() y agua también, pongo unos datos de ejemplo que los que has 
puesto son en exceso numerosos:

lere<-data.frame(date=seq(as.Date("2013-01-01"),by="month",length=3*12),A=rnorm(3*12))
lara<-zoo(lere[,-1],lere$date)
as.ts(lara)

El resultado no es ni remotamente parecido a lo que debería salir.
Gracias por todo.

Salud y Revolución.

Lobo.

Pd: Acabo de encontrar como resolver el tema de xtable:

xtable(aggregate(lara,as.yearmon))

Lo curioso es que xtable convierte el nombre de los meses del perfecto 
español en que lo muestra aggregate a la lengua de la pérfida Albión. 
Habrá que pelear con eso.