2017-09-19 7 views
0

I 1か月間のデータフレームがあります(APRIL 1 - APRIL 30)。データは1時間ごとに収集されます。 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 29,6 30,5 31 30,7 NA

2017年2月4日25,8 27,3 29 、2 30,1 31 32,2 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,627,29,330,330,231 、5,311,7 31,7

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

申し訳ありませんが、私の質問は明確でなかった場合。はい、名前(df)が動作します。しかし私のdfはplotNA.distributionによってプロットすることはできません。それは、私のデータは一変量のデータでなければならないと言います。 私はちょうどtsAirgapデータのような私のデータが欲しいです。 tsAirgapデータでは、rownameは年、colnameは月です。 この場合、4月1日から4月30日までの私のrownameを、その後、私の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) <- c("13.30", "14.30", "16.00", "17.00", "18.00") 
1

plotNA.distribution機能が単一のベクターまたはtsクラスオブジェクトを必要とするように表示されます。

あなたは(たとえば、あなたが5列を持っている場合)、このようなあなたのデータフレームdfの名前を設定するためにnamesを使用することができますこれは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) 

はエラーなしで動作し..willが、私は結果のプロットに適切なダニラベルを設定するかどうかはわかりません。

いずれにしても、時系列データで多くの作業を行っている場合は、tsオブジェクトを作成して使用する方法を学ぶのが最善でしょう。