我有一个月的数据框(4月1日 - 4月30日)。按小时收集的数据。我想使用plotNA.distribution创建时间序列图。问题是,如何将我的列名(标题)设置为时钟(00.00 - 23.00)?
0 1 2 3 4 5 6 7
01/04/2017 24,4 26,4 28,1 29,6 30,5 31 NA 30,7
02/04/2017 25,8 27,3 29,2 30,1 31 32,2 32 31,4
03/04/2017 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
06/04/2017 25,7 25,9 26,6 28 28,4 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
感谢我在帖子中写下的任何答案。非常感谢你。对不起我的英文
答案 0 :(得分:1)
你的问题不太清楚。如果我有所了解,您希望按小时格式为数据框中的列设置名称。
您可以使用names
为此数据框df
设置名称(例如,如果您有5列):
names(df) <- c("13.30", "14.30", "16.00", "17.00", "18.00")
答案 1 :(得分:1)
plotNA.distribution
函数似乎需要单个向量或ts
类对象,这就是tsAirGap。
这里有关于如何创建ts对象的信息: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/ts.html
您还可以选择从当前&#39;范围内重新塑造您的data.frame。格式,长期&#39;格式然后绘制值..
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
个对象。