Bagaimana Anda mendapatkan sarana per jam untuk beberapa kolom data, untuk periode harian, dan menunjukkan hasil selama dua belas "Tuan Rumah" dalam grafik yang sama? Yaitu, saya ingin menggambarkan seperti apa periode 24 jam itu, selama satu minggu untuk data yang berharga. Tujuan akhirnya adalah untuk membandingkan dua set data ini, sebelum dan sesudah pengambilan sampel.
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
Saya sudah bisa menjalankan xyplot (CPUUser ~ date | Host) dengan efek yang baik. Namun, daripada menunjukkan setiap tanggal dalam seminggu, saya ingin sumbu X menjadi jam sehari.
Mencoba memasukkan data ini ke dalam objek xts menghasilkan kesalahan seperti "order.by memerlukan objek berbasis waktu yang tepat"
Berikut adalah str () dari bingkai data:
'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 ...
UPDATE: Hanya untuk referensi di masa depan, saya memutuskan untuk pergi dengan boxplot, untuk menunjukkan median, dan 'outlier'.
Pada dasarnya:
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)
Terima kasih
str()
dari data.frame.
xts()
karenadates
kolom adalah faktor.