2017-09-19 30 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对象。

相关问题