2012-08-24 6 views
5

Bitte, setzen Sie diese Datenstruktur in R, um mein Beispiel zu reproduzieren:keine anwendbare Methode zur ‚Zeit <-‘ angewandt auf ein Objekt der Klasse „C (‚XTS‘,‚Zoo‘)“

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"))) 

nun diesen Code versuchen:

library(PerformanceAnalytics) 
library(quantmod) 
library(timeSeries) 
charts.PerformanceSummary(R = dX) 

und diese Fehlermeldung erhalten:

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

ich denke, die Frage über die Daten ist deren class = c("xts, "zoo"), aber Ich verstehe nicht, warum es diese Daten in diesem Format liest und wie ich es zu einem einfachen xts Objekt zwingen kann.

Wie kann ich dieses Problem lösen?

Mein System:

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 

Wenn ich Pakete laden, erhalte ich folgendes:

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<- 

Nach dem Fehler messagge, ich denke, das Problem kommt, wenn timeSeries und time<- Anbringen von maskiert package:zoo, was ich nicht wirklich weiß, was es bedeutet und wie man damit umgeht.

+0

Haben Sie das Paket 'xts' geladen? – Pop

+0

Natürlich habe ich :) Ich habe gerade eine andere Befehlszeile zu meinem Beispielcode hinzugefügt, um 'quantmod' zu laden und so' xts' auch zu laden. – user1621969

+0

Man bedenke, dass 'class (as.xts (dX))' immer noch ein '"xts" "zoo" 'Objekt zurückgibt, während ich die' zoo' Komponente weglassen möchte. – user1621969

Antwort

10

Das Problem ist Paket timeSeries. Laden Sie die folgende Warnung gibt:

Attaching package: ‘timeSeries’ 

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

    time<- 

Sie das Paket lösen kann charts.PerformanceSummary für die Verwendung und als es wieder laden:

detach('package:timeSeries') 
detach('package:timeDate') # since it masks statistical functions 
charts.PerformanceSummary(R = dX) 
library(timeSeries) 
+0

Danke, Roland. Bitte gehen Sie davon aus, dass ich ** timeSeries laden muss: Wie kann ich mit diesem Problem umgehen? – user1621969

+0

Lösen und erneut laden. – Roland

+0

Ja! Was sonst? :) Vielen Dank – user1621969

Verwandte Themen