假设有一个xts对象obj,如下例所示:
library(quantmod)
getSymbols.FRED('USAPFCEQDSMEI', env = globalenv())
obj <- base::get('USAPFCEQDSMEI')通过检查它的结构str(obj),将返回以下内容:
An ‘xts’ object on 1960-01-01/2020-01-01 containing:
Data: num [1:241, 1] 8.16e+10 8.31e+10 8.30e+10 8.35e+10 8.36e+10 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr "USAPFCEQDSMEI"
Indexed by objects of class: [Date] TZ: UTC
xts Attributes:
List of 2
$ src : chr "FRED"
$ updated: POSIXct[1:1], format: "2020-05-19 19:23:03"我可以看到数据对象中有一个包含两个xts属性的列表:src和updated,但是找不到提取这些属性的方法。经典的unlist或obj$src似乎都不起作用。
在这种情况下,如何正确提取src和updated字段?
发布于 2020-05-19 16:34:16
您可以使用函数xtsAttributes访问这些属性。
xtsAttributes(obj)
$src
[1] "FRED"
$updated
[1] "2020-05-19 18:29:26 CEST"或分开:
xtsAttributes(obj)$src
[1] "FRED"
xtsAttributes(obj)$updated
[1] "2020-05-19 18:29:26 CEST"发布于 2020-05-19 16:40:09
下面是@phiver展示的特殊xtsAttributes函数的基本R选项:
attributes(obj)$src
[1] "FRED"
attributes(obj)$updated
[1] "2020-05-19 12:37:31 EDT"正如help(xtsAttributes)中所指出的
由于xts对象是具有特殊属性的S3对象,因此需要一种方法来正确地分配和查看用户添加的属性。
因此,不要尝试这样做:
###Don't do this###
#attributes(obj)$src <- "AAPL"https://stackoverflow.com/questions/61896030
复制相似问题