Comment obtiendriez-vous des moyennes horaires pour plusieurs colonnes de données, pour une période quotidienne, et afficheriez-vous les résultats pour douze "hôtes" dans le même graphique? Autrement dit, j'aimerais représenter graphiquement à quoi ressemble une période de 24 heures, pour une semaine de données. L'objectif final serait de comparer deux ensembles de ces données, avant et après échantillonnage.
dates Host CPUIOWait CPUUser CPUSys
1 2011-02-11 23:55:12 db 0 14 8
2 2011-02-11 23:55:10 app1 0 6 1
3 2011-02-11 23:55:09 app2 0 4 1
J'ai pu exécuter xyplot (CPUUser ~ dates | Host) avec un bon effet. Cependant, plutôt que d'afficher chaque date de la semaine, j'aimerais que l'axe X représente les heures de la journée.
Essayer d'obtenir ces données dans un objet xts entraîne des erreurs telles que "order.by nécessite un objet temporel approprié"
Voici un str () du bloc de données:
'data.frame': 19720 obs. of 5 variables:
$ dates : POSIXct, format: "2011-02-11 23:55:12" "2011-02-11 23:55:10" ...
$ Host : Factor w/ 14 levels "app1","app2",..: 9 7 5 4 3 10 6 8 2 1 ...
$ CPUIOWait: int 0 0 0 0 0 0 0 0 0 0 ...
$ CPUUser : int 14 6 4 4 3 10 4 3 4 4 ...
$ CPUSys : int 8 1 1 1 1 3 1 1 1 1 ...
MISE À JOUR: Juste pour référence future, j'ai décidé d'aller avec un boxplot, pour montrer à la fois la médiane et les «valeurs aberrantes».
Essentiellement:
Data$hour <- as.POSIXlt(dates)$hour # extract hour of the day
boxplot(Data$CPUUser ~ Data$hour) # for a subset with one host or for all hosts
xyplot(Data$CPUUser ~ Data$hour | Data$Host, panel=panel.bwplot, horizontal=FALSE)
Merci
str()
le data.frame.
xts()
parce que ladates
colonne est un facteur.