2017-09-19 60 views
0

我有一個月的數據框(4月1日 - 4月30日)。按小時收集的數據。我想使用plotNA.distribution創建時間序列圖。問題是,如何將col名稱(標題)設置爲時鐘(00.00 - 23.00)?在R中使用標題作爲日期(時鐘)格式

  0 1 2 3 4 5 6 7 

2017年1月4日24,4 26,4 28,1 30,5 29.6 31 NA 30,7

2017年2月4日25,8 27.3 29 ,2 30,1 32,2 31 32 31,4

2017年3月4日26,2 27,5 29 30,2 31,1 31,7 31.6 30,2

04/04/2017 24,8 25,8 27,8 29,3 30,8 31,6 NA 29,4

05/04/2017 25,6 27,2 29,3 30,3 30,2 31 ,5 31,7 31,7

2017年6月4日25,7 25,9 26,6 28,4 28 27 28,7 30

很抱歉,如果我的問題沒有明確。是的,名稱(DF)的工作。但我的df不能通過plotNA.distribution進行繪圖。它說,我的數據應該是單變量數據。 我只是想要我的數據像tsAirgap數據。在tsAirgap數據中,rowname是年份,那麼colname是月份。 在這種情況下,我希望我的rowname在4月1日至4月30日的一天,然後我的colname df是00.00-23.00小時。

 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 

1949 112 118 132 129 NA 135 148 148 NA 119 104 118 

1950 115 126 141 135 125 149 170 170 NA 133 NA 140 

1951 145 150 178 163 172 178 199 199 184 162 146 166 

1952 171 180 193 181 183 218 230 242 209 191 172 194 

1953 196 196 236 235 229 243 264 272 237 211 180 201 

1954 204 188 235 227 234 NA 302 293 259 229 203 229 

1955 242 233 267 269 270 315 364 347 312 274 237 278 

1956 284 277 NA NA NA 374 413 405 355 306 271 306 

1957 315 301 356 348 355 NA 465 467 404 347 NA 336 

1958 340 318 NA 348 363 435 491 505 404 359 310 337 

1959 360 342 406 396 420 472 548 559 463 407 362 NA 

1960 417 391 419 461 NA 535 622 606 508 461 390 432 

我明白任何答案寫在我的職務。非常感謝你。對不起,我的英語

回答

1

不太清楚你的問題。如果我有點理解,你想按小時格式設置數據框中列的名稱。

您可以使用names設置名稱爲您的數據幀df像這樣(例如,如果你有5列):

names(df) <- c("13.30", "14.30", "16.00", "17.00", "18.00") 
1

plotNA.distribution功能似乎需要一個載體或ts類對象,這是tsAirGap的。

有關於如何創建一個TS對象這裏信息: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/ts.html

您還可以重塑從目前的「寬」格式的data.frame的選擇,一個「長」格式,然後劇情值..

library(tidyr) 
YourDataNew <- gather(YourData,key = "hour",value = "data",Jan:Dec) %>% arrange(day) 
YourDataNew$data <- as.numeric(YourDataNew$data) 
library(imputeTS) 
plotNA.distribution(YourDataNew$data) 

..將無誤地工作,但我不知道如何設置適當的刻度標籤在結果​​圖。

在任何情況下,如果您使用時間序列數據工作很多,最好學習如何創建和使用ts對象。

相關問題