没有适用于 'time<-' 的方法应用于类“c('xts', 'zoo')"的对象; [英] No applicable method for 'time<-' applied to an object of class "c('xts', 'zoo')"
问题描述
请将此数据结构放入 R 中以重现我的示例:
Please, put this data structure into R in order to reproduce my example:
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
对象.
I guess the issue is about the datas whose class = c("xts, "zoo")
, but I do not understand why it reads those datas in that format and how may I coerce it to a simple xts
object.
我该如何解决这个问题?
How could I solve this issue?
我的系统:
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
当我加载包时,我得到以下信息:
When I load packages, I get the following:
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<-
根据错误消息,我猜问题出现在附加 timeSeries
和 time<-
被 package:zoo
屏蔽时我真的不知道它是什么意思以及如何处理.
According to the error messagge, I guess the issue comes when attaching timeSeries
and time<-
is masked from package:zoo
, which I do not really know what it does mean and how to deal with.
推荐答案
问题是包timeSeries
.加载它会给出以下警告:
The problem is package timeSeries
. Loading it gives the following warning:
Attaching package: ‘timeSeries’
The following object(s) are masked from ‘package:zoo’:
time<-
您可以分离使用 charts.PerformanceSummary
的包,然后重新加载:
You can detach the package for using charts.PerformanceSummary
and than load it again:
detach('package:timeSeries')
detach('package:timeDate') # since it masks statistical functions
charts.PerformanceSummary(R = dX)
library(timeSeries)
这篇关于没有适用于 'time<-' 的方法应用于类“c('xts', 'zoo')"的对象;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!