私はいくつかの hdf5 データセットを扱っています。ただし、日付はファイルに保存され、ファイル名からのこれらの日付のヒントはありません。属性ファイルは、年、月、日、および年の列で構成されます。データを引き出して、時系列に使用できる各ファイルの時系列アイデンティティを作成したいと思います。つまり、時系列に使用できる年月日形式です。データのサンプルは、次の場所からダウンロードできます。
属性グループファイルとデータグループファイルがあります。Rライブラリ "rhdf5" を使用して、hdf5 ファイルを調べます。例えば
CO1<-h5ls ("TES-Aura_L3-CO_r0000006311_F01_09.he5")
Attr<-h5read("TES-Aura_L3-CO_r0000006311_F01_09.he5","HDFEOS INFORMATION/coremetadata")
Data<-h5read("TES-Aura_L3-CO_r0000006311_F01_09.he5", "HDFEOS\SWATHS\ColumnAmountNO2\Data Fields\ColumnAmountNO2Trop")
読み取り時の Attr は、取得日である「2007-08-31」だけが必要な情報を持つ長い文字列で構成されます。Stringr ライブラリを使用してこれを抽出できました。
regexp <- "([[:digit:]]{4})([-])([[:digit:]]{2})([-])([[:digit:]]{2})"
Date<-str_extract(Attr,pattern=regexp)
Date を次のように返します。
"2007-08-31"
現在残っている唯一の問題は、日付が数値または日付として認識されないことです。時系列を作成するためにすべての日のデータに日付をバインドする必要があるため、これを変更するにはどうすればよいですか (データ セットが不規則であるため、識別子のようなものです)。文字列から日付を抽出し、各日付の CO 値にバインドした後のサンプルは次のとおりです。
Dates CO3b
[1,] "2011-03-01" 1.625811e+18
[2,] "2011-03-04" 1.655504e+18
[3,] "2011-03-11" 1.690428e+18
[4,] "2011-03-15" 1.679871e+18
[5,] "2011-03-17" 1.705987e+18
[6,] "2011-03-17" 1.661198e+18
[7,] "2011-03-17" 1.662694e+18
[8,] "2011-03-20" 1.520328e+18
[9,] "2011-03-21" 1.510642e+18
[10,] "2011-03-21" 1.556637e+18
ただし、Rはこれらの日付を日付ではなく文字として認識します。それらを使用できる時系列に変換する必要があります。