[R-es] Funcion de Autocorrelacion
Olivier Nuñez
onunez en iberstat.es
Mar Abr 27 05:27:22 CEST 2010
Efectivamente, la función acf te devuelve una lista de 6 elementos:
> d<-acf(lh,type="correlation",plot=F)
> str(d)
List of 6
$ acf : num [1:17, 1, 1] 1 0.576 0.182 -0.145 -0.175 ...
$ type : chr "correlation"
$ n.used: int 48
$ lag : num [1:17, 1, 1] 0 1 2 3 4 5 6 7 8 9 ...
$ series: chr "lh"
$ snames: NULL
- attr(*, "class")= chr "acf"
El vector que te interesa es precisamente el primer elemento de esta
lista:
> vector <- d$acf
con el cual, puedes realizar cualquier operación numérica:
> vector*2
, , 1
[,1]
[1,] 2.000000000
[2,] 1.151048951
[3,] 0.363636364
[4,] -0.289510490
[5,] -0.349650350
[6,] -0.299300699
[7,] -0.041958042
[8,] -0.040559441
[9,] -0.008391608
[10,] -0.271328671
[11,] -0.307692308
[12,] -0.194405594
[13,] 0.097902098
[14,] 0.239160839
[15,] 0.173426573
[16,] 0.237762238
[17,] 0.302097902
Un saludo. Olivier
--
____________________________________
Olivier G. Nuñez
Email: onunez en iberstat.es
Tel : +34 663 03 69 09
Web: http://www.iberstat.es
____________________________________
El 27/04/2010, a las 5:12, Andres rodriguez trujillo escribió:
>
>
> Buen Dia
>
> Ando trabajando con el comando acf del paquete stats que por medio
> de ella obtengo la funcion de autocorrelacion y utilizo el ejemplo
> que esta sugerido en la ayuda del R la base de datos se llama "lh"
> y ps necesito cada una de las autocorrelaciones que me arroja el
> acf para poderlas multiplicar con un programa que ando realizando y
> pues lo que habia hecho era transformar la salida como un vector
> pues me facilitaria realizar las operaciones que deseo aunque lo
> consegui sucedia lo mismo antes de que lo llevara en forma de
> vector, por ultimo he mirando el comando interno del acf creo que
> lo arroja en forma de lista aun asi no entiendo mucho los comandos
> que utiliza esta funcion acf
>
> d<-acf(lh,type="correlation",plot=F)
>> d
>
> Autocorrelations of series ‘lh’, by lag
>
> 0 1 2 3 4 5 6 7 8
> 9 10
> 1.000 0.576 0.182 -0.145 -0.175 -0.150 -0.021 -0.020 -0.004
> -0.136 -0.154
> 11 12 13 14 15 16
> -0.097 0.049 0.120 0.087 0.119 0.151
>> d[1]
>
> Autocorrelations of series ‘lh’, by lag
>
> 1
> 0.576
>> d[1]*2
> Error en d[1] * 2 : argumento no-numérico para operador binario
>
>
> ahora si lo transformo como un vector sucede esto
>
> d<-acf(lh,type="correlation",plot=F)
>> vector<-c(d)
>> vector
> $acf
> , , 1
>
> [,1]
> [1,] 1.000000000
> [2,] 0.575524476
> [3,] 0.181818182
> [4,] -0.144755245
> [5,] -0.174825175
> [6,] -0.149650350
> [7,] -0.020979021
> [8,] -0.020279720
> [9,] -0.004195804
> [10,] -0.135664336
> [11,] -0.153846154
> [12,] -0.097202797
> [13,] 0.048951049
> [14,] 0.119580420
> [15,] 0.086713287
> [16,] 0.118881119
> [17,] 0.151048951
>
>
> $type
> [1] "correlation"
>
> $n.used
> [1] 48
>
> $lag
> , , 1
>
> [,1]
> [1,] 0
> [2,] 1
> [3,] 2
> [4,] 3
> [5,] 4
> [6,] 5
> [7,] 6
> [8,] 7
> [9,] 8
> [10,] 9
> [11,] 10
> [12,] 11
> [13,] 12
> [14,] 13
> [15,] 14
> [16,] 15
> [17,] 16
>
>
> $series
> [1] "lh"
>
> $snames
> NULL
>
>> w<-vector[1]
>> w
> $acf
> , , 1
>
> [,1]
> [1,] 1.000000000
> [2,] 0.575524476
> [3,] 0.181818182
> [4,] -0.144755245
> [5,] -0.174825175
> [6,] -0.149650350
> [7,] -0.020979021
> [8,] -0.020279720
> [9,] -0.004195804
> [10,] -0.135664336
> [11,] -0.153846154
> [12,] -0.097202797
> [13,] 0.048951049
> [14,] 0.119580420
> [15,] 0.086713287
> [16,] 0.118881119
> [17,] 0.151048951
>
>
>> w*1
> Error en w * 1 : argumento no-numérico para operador binario
>>
>
> Estaria agradecido por la ayuda.
>
>
>
> _________________________________________________________________
> Explore the seven wonders of the world
>
> BRE
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
Más información sobre la lista de distribución R-help-es