2012-02-25 4 views
3

Это то, что я пытаюсь сделать:Извлечение числового значения из ACF в R

x <- c(1,2,3,3,2,3,4,5,6) 

my_acf = acf(x,plot=F) 


> my_acf 

Autocorrelations of series ‘x’, by lag 

    0  1  2  3  4  5  6  7  8 
1.000 0.497 0.097 -0.047 -0.050 -0.075 -0.231 -0.376 -0.316 

Я хочу, чтобы извлечь только 0,497, коэффициент корреляции на первом лаг, и я хочу, чтобы иметь его в качестве числовой стоимость. Как я могу это сделать?

Спасибо

ответ

9

Ответ заключается в использовании my_acf$acf[2]. Вот что привело меня к решению:

> attributes(my_acf) 
$names 
[1] "acf" "type" "n.used" "lag" "series" "snames" 

$class 
[1] "acf" 

> my_acf$acf 
, , 1 

      [,1] 
[1,] 1.00000000 
[2,] 0.49747475 
[3,] 0.09722222 
[4,] -0.04734848 
[5,] -0.04987374 
[6,] -0.07512626 
[7,] -0.23106061 
[8,] -0.37563131 
[9,] -0.31565657 

> my_acf$acf[2] 
[1] 0.4974747 
+0

Это именно то, что я искал. Большое спасибо! – Akavall

+0

есть ли способ сделать это без построения автокоррелограммы? Я искал способ заставить замолчать сюжет, так как у меня есть другой сюжет, который я использую, и сейчас я должен удалить сюжет каждый раз, когда я вызываю acf. – Paul

+0

@Paul, ответ как на этой странице, так и на документации, к которой вы можете получить доступ из R, запустив '? Acf'. – flodel

Смежные вопросы