各州からの 48 時間ごとの観測を含むデータ フレームがあります。州名は列 1 にあり、列 2:49 には各時間の観測値が含まれています。各列は、その時間の米国のコロプレス マップを生成するために使用されています。データ フレームの名前が「qso_per_hour」の場合、次のコードを使用して 1 つのマップを生成できました。
map_hours<-colnames(qso_per_hour[2:49]) #drop state column, get just hour column names
this_map<-map_hours[18] # hour 18 as an example
#
ggplot(qso_per_hour, aes_string(map_id="states", fill=this_map))+
geom_map(map=states_map, colour="black") # other formatting code trimmed
私が次にやりたいことは、48 時間ごとのマップすべてをそれぞれのページに生成し、それらをグラフィック ファイルに保存することです。手始めに、それらを画面に表示しようとしています。このコードを単純な for ループに入れると、マップが描画されなくなります。
map_hours<-colnames(qso_per_hour[2:49]) #drop state column, get just hour column names
for (this_map in map_hours) {
ggplot(qso_per_hour, aes_string(map_id="states", fill=this_map))+
geom_map(map=states_map, colour="black") # other formatting code trimmed
}
実行すると、R Graphic:Device ウィンドウが開きますが、マップは描画されなくなります。ウィンドウは灰色のままです。私はこれに対する答えを探すのに何時間も費やしました。それは単純なものでなければなりません。誰にもアイデアはありますか?デバッグでは、ループの最後に readline ステートメントを配置して、次のマップを描画しても問題ないと言うのを待つようにしましたが、問題は解決しません。
アイデアをお寄せいただきありがとうございます。