0

R の openair パッケージで calendarPlot 関数を使用しようとしています。パッケージに付属の mydata データフレームをロードして次のコードを実行すると、正常に動作します。

calendarPlot(mydata, pollutant = "co", year = 2003)

mydata データフレームは次のようになります。

'data.frame':   65533 obs. of  10 variables:
 $ date: POSIXt, format: "1998-01-01 00:00:00" "1998-01-01 01:00:00" "1998-    01-01 02:00:00" "1998-01-01 03:00:00" ...
 $ ws  : num  0.6 2.16 2.76 2.16 2.4 3 3 3 3.36 3.96 ...
 $ wd  : int  280 230 190 170 180 190 140 170 170 170 ...
 $ nox : int  285 NA NA 493 468 264 171 195 137 113 ...
 $ no2 : int  39 NA NA 52 78 42 38 51 42 39 ...
 $ o3  : int  1 NA 3 3 2 0 0 0 1 2 ...
 $ pm10: int  29 37 34 35 34 16 11 12 12 12 ...
 $ so2 : num  4.72 NA 6.83 7.66 8.07 ...
 $ co  : num  3.37 NA 9.6 10.22 8.91 ...
 $ pm25: int  NA NA NA NA NA NA NA NA NA NA ...

次のような独自のデータフレーム R1_Temp_cut があります。

'data.frame':   722880 obs. of  3 variables:
 $ DateTime: POSIXct, format: "2013-10-01 00:01:00" "2013-10-01 00:02:00"     "2013-10-01 00:03:00" "2013-10-01 00:04:00" ...
 $ Air.Temp: num  17.5 17.4 17.4 17.7 17.7 17.7 17.7 17.6 17.6 17 ...
 $ AirTemp : num  17.5 17.4 17.4 17.7 17.7 17.7 17.7 17.6 17.6 17 ...

データに対して同じコードを実行すると、次のエラーが発生します。

> calendarPlot(R1_Temp_cut, pollutant = "AirTemp", year = 2014)
Error in calendarPlot(R1_Temp_cut, pollutant = "AirTemp", year = 2014) : 
  No data to plot - check year chosen
In addition: Warning message:
In match(x, table, nomatch = 0L) : NAs introduced by coercion

mydata の日付形式が POSIXt で、R1_Temp_cut が POSIXct であることに気付きました。フォーマットを POSIXct に変更しましたが、それでも問題なく動作しました。ヘルプ ファイルには、日付形式は POSIXct である必要があると記載されています。

データフレーム R1_Temp_cut の概要:

> summary(R1_Temp_cut)
    DateTime                      Air.Temp        AirTemp     
 Min.   :2013-10-01 00:01:00   Min.   :-4.10   Min.   : 0.00  
 1st Qu.:2014-02-03 11:46:45   1st Qu.:14.40   1st Qu.:14.40  
 Median :2014-06-09 05:15:30   Median :18.20   Median :18.20  
 Mean   :2014-06-09 07:11:51   Mean   :18.57   Mean   :18.57  
 3rd Qu.:2014-10-13 01:41:15   3rd Qu.:22.00   3rd Qu.:22.00  
 Max.   :2015-02-15 23:59:00   Max.   :99.00   Max.   :99.00  

R1_Temp_cut データフレームでスクリプトを実行する方法についてのアイデアは大歓迎です。

ありがとう、クレイグ。

4

1 に答える 1

0

関数 calendarPlot を機能させるには、日付としてラベル付けされた「日付」列が必要であることが判明しました。列名を「DateTime」から「date」に変更したところ、完全に機能しました。

names(R1_Temp_cut)[1] <- "date" 
calendarPlot(R1_Temp_cut, pollutant = "Air.Temp", year =2014)

calendarPlot からの出力

于 2016-03-01T06:24:31.353 に答える