从 acf 输出列表中提取特定元素

Posted

技术标签:

【中文标题】从 acf 输出列表中提取特定元素【英文标题】:Extract a particular element from a list of acf outputs 【发布时间】:2021-04-10 15:18:24 【问题描述】:

我输出了一系列acf 结果,并且只想提取滞后 1 个自相关系数。任何人都可以快速指点吗?谢谢。

#A snippet of a series of acf() results
$`25`

Autocorrelations of series ‘x’, by lag

     0      1      2      3      4      5      6      7      8      9     10     11     12 
 1.000  0.366 -0.347 -0.399 -0.074  0.230  0.050 -0.250 -0.213 -0.106  0.059  0.154  0.031 

$`26`

Autocorrelations of series ‘x’, by lag

     0      1      2      3      4      5      6      7      8      9     10     11 
 1.000  0.060  0.026 -0.163 -0.233 -0.191 -0.377  0.214  0.037  0.178 -0.016  0.049 

$`27`

Autocorrelations of series ‘x’, by lag

     0      1      2      3      4      5      6      7      8      9     10     11     12 
 1.000 -0.025 -0.136  0.569 -0.227 -0.264  0.218 -0.262 -0.411  0.123 -0.039 -0.192  0.130 
#For this example, the extracted values will be 0.366, 0.060, -0.025, the values can either 
be in a list or matrix 

编辑

#`acf` in base R was used  
p <- acf.each() 
#sapply was tried but it resulted this 
sapply(acf.each(), `[`, "1")
          1             2             3                  
acf    0.7398        0.1746        0.4278              
type   "correlation" "correlation" "correlation" 
n.used    24            17            14                 
lag       1             1             1                     
series    "x"          "x"           "x"                       
snames   NULL          NULL          NULL





          

【问题讨论】:

如果@akrun 的解决方案不适合您,请提供有关您正在使用的包(nmle?)以及正在使用的方法的更多详细信息。 @IanCampbell 谢谢。添加了更多细节。仅使用了基础 R 中的 acf() 【参考方案1】:

结构似乎是list。我们可以使用sapply进行提取

sapply(lst1, function(x) x$acf[2])

数据

lst1 <- list(acf(ldeaths), acf(ldeaths))

【讨论】:

以上是关于从 acf 输出列表中提取特定元素的主要内容,如果未能解决你的问题,请参考以下文章

从字典中提取第一个元素以构建列表[重复]

在python中建立一组列表后,怎么从列表中提取元素

从多维数组中提取特定元素

python提取list中的元素

从列表中提取元素[重复]

Python如何打出“删除列表特定范围的元素,若超出范围,则输出错误”这个代码?