私は非常に単純なデータのコロプレスを作成しようとしていますが、それは首の痛みのようなものです。アメリカ東部に次の郵便番号があります。これはデータで構成されていますが、あなたはその考えを理解します。
Zip Freq
11101 10
10014 15
11238 400
約100行など。 Freqの値の範囲は0〜1000で、これらは各郵便番号の色を決定するために使用したい値です。理想的には、地図を国全体ではなく米国東部に焦点を合わせて欲しいと思います。
このデータと各郵便番号でコロプレスを作成したいのですが、郵便番号のシェープファイルをインポートする方法がわかりません。私は このチュートリアル を試しましたが、fortify()ステップでそれ以上のエラーが発生しました。そのチュートリアルの方法がそれを実行するための最良の方法であるかどうかはわかりません。
ggplot2は州と郡に付属しているようですが、郵便番号でマップする方法がわかりません。 (最終的には国勢調査区でマップする予定ですが、今は郵便番号とこの単純なデータセットにシェープファイルを使用する方法を学びたいだけです)
Choroplethrで見つけたすべてのリソースは、現在非推奨となっている関数を使用しています。私はそれを使うために何時間も尻尾を追いかけました、そしてとてもイライラしているので、どんな助けでも大いに感謝されます。
choroplethr
をご利用いただきありがとうございます。また、Zip_map
の廃止により問題が発生したことをお詫び申し上げます。すべてのZip関連関数を choroplethrZip という別のパッケージに移動しました。
古いバージョンのChoroplethrは、ZIPをChoroplethではなく、散布図としてレンダリングしていました。それらを適切なコロプレスとしてレンダリングするには、CRANには大きすぎるマップ(〜60MB)が必要でした。そのため、github経由でのみ利用できます。
上記にリンクしているgithubページには3つのビネットがあります。基本的に、関数Zip_choropleth
は必要なことを正確に実行し、他のすべてのchoroplethr
関数と同じように機能する必要があります。 state_zoom
を使用して、東海岸の州を拡大します。
# use the devtools package from CRAN to install choroplethrZip from github
install.packages("devtools")
library(devtools)
install_github('arilamstein/[email protected]')
library(choroplethrZip)
data(df_pop_Zip)
# ec = east coast
ec_states = c("maine", "new hampshire", "massachusetts", "rhode island", "connecticut",
"new york", "new jersey", "delaware", "maryland",
"virginia", "north carolina", "south carolina", "georgia", "florida",
"pennsylvania", "district of columbia", "vermont", "west virginia")
Zip_choropleth(df_pop_Zip,
state_zoom = ec_states,
title = "2012 ZCTA Population Estimates",
legend = "Population") + coord_map()
Zipが非常に小さいため、表示されるのは境界線だけであるため、結果のマップは本質的に読み取り不能です。ボーダーを削除したい場合は、これを試してください:
choro = choroplethrZip::ZipChoropleth$new(df_pop_Zip)
choro$prepare_map()
data(Zip.regions)
choro$legend = "Population"
ec_zips = Zip.regions[Zip.regions$state.name %in% ec_states, "region"]
ec_df = choro$choropleth.df[choro$choropleth.df$region %in% ec_zips, ]
ec_plot = choro$render_helper(ec_df, "", choro$theme_clean()) +
ggtitle("2012 ZCTA Population Estimates")
ec_plot + coord_map()
将来的には、境界線のないマップを簡単にレンダリングできるオプションを追加する可能性があります。しかし今のところ(バージョン1.3.0)、これは私がそれを行うために見ることができる最も簡単な方法であり、基本的に私が舞台裏で行って、国境なしでレンダリングされる国のZipマップをレンダリングします。
coord_map
はメルカトル図法を強制するだけであることに注意してください。