r - 没有适用于 'time<-' 的方法应用于类 "c(' xts', 'zoo' 的对象)"

标签 r xts zoo

这个问题不太可能对 future 的访客有帮助;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于互联网的全局受众。为了帮助使这个问题更广泛地适用, visit the help center




9年前关闭。




请将此数据结构放入 R 中以重现我的示例:

dX <- structure(c(3272.1, 3271.48, 3281.03, 3267.08, 3260.65, NA, 1616.3, 
1620.1, 1639.9, 1637.4, 1669.6, 1662.2, 528.385, 529.268, 531.022, 
532.424, NA, NA), .indexTZ = "", class = c("xts", "zoo"), .indexCLASS = c("POSIXct", 
"POSIXt"), tclass = c("POSIXct", "POSIXt"), tzone = "", index = structure(c(1345147200, 
1345406400, 1345492800, 1345579200, 1345665600, 1345752000), tzone = "", tclass = c("POSIXct", 
"POSIXt")), .Dim = c(6L, 3L), .Dimnames = list(NULL, c("M1WO.Index", 
"GC1.COMB.Comdty", "JGAGGUSD.Index")))

现在试试这个代码:
library(PerformanceAnalytics)
library(quantmod)
library(timeSeries)
charts.PerformanceSummary(R = dX)

并收到此错误:
Error in UseMethod("time<-") :
  no applicable method for 'time<-' applied to an object of class "c('xts', 'zoo')"

我想问题在于其 class = c("xts, "zoo") 的数据,但我不明白为什么它以这种格式读取这些数据,以及我如何将其强制为一个简单的 xts 对象。

我怎么能解决这个问题?

我的系统:
R version 2.15.1 (2012-06-22)
Platform: i386-pc-mingw32/i386 (32-bit)

locale:
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base     

other attached packages:
 [1] timeSeries_2160.94           timeDate_2160.95            
 [3] quantmod_0.3-17              TTR_0.21-1                  
 [5] Defaults_1.1-1               PerformanceAnalytics_1.0.4.4
 [7] xts_0.8-6                    zoo_1.7-7                   
 [9] rcom_2.2-5                   rscproxy_2.0-5              

loaded via a namespace (and not attached):
[1] fBasics_2160.81  fGarch_2110.80.1 grid_2.15.1      lattice_0.20-6  
[5] MASS_7.3-18      stabledist_0.6-4 tools_2.15.1  

当我加载包时,我得到以下信息:
Loading required package: zoo

Attaching package: ‘zoo’

The following object(s) are masked from ‘package:base’:

    as.Date, as.Date.numeric

Loading required package: timeDate

Attaching package: ‘timeDate’

The following object(s) are masked from ‘package:PerformanceAnalytics’:

    kurtosis, skewness

Attaching package: ‘timeSeries’

The following object(s) are masked from ‘package:zoo’:

    time<-

根据错误消息,我猜问题出现在附加 timeSeriestime<-package:zoo 屏蔽时,我真的不知道它的含义以及如何处理。

最佳答案

问题是包timeSeries .加载它会给出以下警告:

Attaching package: ‘timeSeries’

The following object(s) are masked from ‘package:zoo’:

    time<-

您可以拆开包装使用 charts.PerformanceSummary然后再次加载它:
detach('package:timeSeries')
detach('package:timeDate') # since it masks statistical functions
charts.PerformanceSummary(R = dX)
library(timeSeries)

关于r - 没有适用于 'time<-' 的方法应用于类 "c(' xts', 'zoo' 的对象)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12105396/

相关文章:

r - R中%o%的含义

r - 查找在 R 中构成主键的变量组合

r - 使用 R 将连续时间序列数据转换为每日每小时表示

r - xts 对象的 native 默认索引类是什么?

r - ggplot 为facet_wrap 中的每个图添加刻度

r - 根据 dplyr 与另一个数据帧的匹配更改数据帧中的列名

r - xts 赋值更改列类

R Zoo 包 : na. 当 NA 处于开头时大约改变向量的长度

r - 在R中自动查找时间序列的季节性