Question

Je ne peux pas interroger xts pour des sous-ensembles comprenant à la fois une plage de dates et d'heures.Par exemple:

> head(myxts['2012-01-06 9:30:00/2012-01-06 10:00:00'], 1)
                    Symbol       
2012-01-03 09:30:00 "AA"

> tail(myxts['2012-01-06 9:30:00/2012-01-06 10:00:00'], 1)
                Symbol       
2012-01-06 10:00:00 "AA"

Ici, la première ligne est le 03/01/2012.Pourquoi pas le 06/01/2012?

< EDIT

J'ai également essayé d'extraire une seule date d'abord dans une nouvelle variable, puis une requête par heure.Dans ce cas, les séries de dates sont extraites correctement mais le sous-ensemble de temps ne fonctionnera pas.

e = myxts['2012-01-06']
e['10:00:00::10:20:00'] # returns all rows in '2012-01-06'

MODIFIER 2

Nous avons trouvé cette situation où la saisie de «09: 45: 00» plutôt que de «9:45:00» semble résoudre le problème:

> tail(myxts['2011-12-19 9:40:00::2011-12-19 9:45:00'])
                    Symbol DaySec
2011-12-19 16:00:00 "WPI"  "57600"

> tail(myxts['2011-12-19 9:40:00::2011-12-19 09:45:00'])
                    Symbol DaySec  
2011-12-19 09:45:00 "WPI"  "35100"
Était-ce utile?

La solution

'2012-01-06 9:30:00' n'est pas une chaîne compatible ISO-8601.Chaque composant de temps doit être composé de deux chiffres (si spécifié), vous avez donc besoin de '2012-01-06 09:30:00'.

Autres conseils

Fonctionne pour moi:

R> now <- Sys.time()
R> foo <- xts(1:100, now + (1:100)*30*60)   # hundred half-hour intervals
R> head(foo)
                          [,1]
2012-02-21 11:48:32.37683    1
2012-02-21 12:18:32.37683    2
2012-02-21 12:48:32.37683    3
2012-02-21 13:18:32.37683    4
2012-02-21 13:48:32.37683    5
2012-02-21 14:18:32.37683    6
R> tail(foo)
                          [,1]
2012-02-23 10:48:32.37683   95
2012-02-23 11:18:32.37683   96
2012-02-23 11:48:32.37683   97
2012-02-23 12:18:32.37683   98
2012-02-23 12:48:32.37683   99
2012-02-23 13:18:32.37683  100

Nous pouvons maintenant extraire de la dernière heure du 21 février au premier du 23 février:

R> xtract <- foo["2012-02-21 23:00::2012-02-23 01:00"]
R> head(xtract)
                          [,1]
2012-02-21 23:18:32.37683   24
2012-02-21 23:48:32.37683   25
2012-02-22 00:18:32.37683   26
2012-02-22 00:48:32.37683   27
2012-02-22 01:18:32.37683   28
2012-02-22 01:48:32.37683   29
R> tail(xtract)
                          [,1]
2012-02-22 22:18:32.37683   70
2012-02-22 22:48:32.37683   71
2012-02-22 23:18:32.37683   72
2012-02-22 23:48:32.37683   73
2012-02-23 00:18:32.37683   74
2012-02-23 00:48:32.37683   75
R> 

Je peux également extraire en une journée:

R> xtract <- foo["2012-02-23 02:00::2012-02-23 04:00"]
R> xtract
                          [,1]
2012-02-23 02:18:32.37683   78
2012-02-23 02:48:32.37683   79
2012-02-23 03:18:32.37683   80
2012-02-23 03:48:32.37683   81
R> 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top