[R-es] Regresión lineal para una serie temporal

Jorge Virto jorge.virto en ehu.es
Jue Feb 17 11:56:43 CET 2011


Hola Paco,

creo que el problema está en que no le dices a R que tu primera variable es 
una fecha. Prueba lo siguiente:

datos <- read.csv("dat.csv",header=T)

# Das formato fecha a los datos
# Fecha del tipo: Año-Mes-Día
fecha <- as.Date(datos[,1],format="%Y-%m-%d")

reg <- lm(datos[,2]~fecha)
summary(reg)

Un saludo,

Jorge

El Thursday 17 February 2011 11:38:40 Paco Pastor escribió:
> Hola
>
> Tienes razón, me falta un ejemplo. Mis datos son de la forma:
>
>
> "date"              "temp"
> 01/01/2000     21.6
> 02/01/2000     22.4
> .....                    ....
> 31/12/2010      22.3
>
> No tengo dos variables x-y para hacer la regresión sino solamente una
> variable "temp". Leo los datos, creo un objeto zoo para representar la
> serie temporal pero no sé como seguir para hacer la regresión lineal.
>
> Adjunto los datos de ejemplo guardados con write.csv
>
> Gracias
>
> El 17/02/2011 11:18, Oscar Perpiñan Lamigueiro escribió:
> > El Thu, 17 Feb 2011 10:52:42 +0100
> >
> > Paco Pastor<paco en ceam.es>  escribió:
> >> Hola a todos
> >>
> >> Estoy intentando hacer un análisis rápido de una serie temporal de
> >> datos diarios pero me encuentro con algunos problemas. Me gustaría en
> >> primera instancia hacer una regresión lineal pero no encuentro la
> >> forma.
> >>
> >> Tras leer los datos diarios creo un objeto de la clase zoo y sobre
> >> éste no puedo utilizar lm(). He leído algo sobre dynlm pero no
> >> encuentro la forma.
> >>
> >> Se agradece cualquier sugerencia,
> >>
> >> Paco
> >
> > A falta de un ejemplo, me invento uno con lo que he entendido de tu
> > mensaje:
> >
> > library(zoo)
> > library(lattice)
> >
> > ##Dos variables relacionadas entre sí
> > x=rnorm(100)
> > y=2*x+1
> >
> > ##Indice temporal
> > idx=seq(as.POSIXct('2011-01-01'), length=100, by='day')
> >
> > ##Creo el objeto zoo y lo pinto
> > z<- zoo(data.frame(x, y), idx)
> > xyplot(z, superpose=TRUE)
> >
> > ##Hago un ajuste entre las variables
> > lmZ<- lm(y~x, z)
> > summary(lmZ)
> >
> > Saludos.
> >
> > Oscar.
> >
> > -------------------
> > Oscar Perpiñán Lamigueiro
> > Dpto. Ingeniería Eléctrica
> > EUITI-UPM



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