問題タブ [cartogram]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R のカルトグラムが期待どおりに国を歪めない
cartogram
Rのパッケージを使用して、生きている言語の世界地図を作成しています。国の地図はNatural Earthから、言語数はEthnologueからのものです。
私が使用しているデータには、ロシアでは 111、中国では 299 の生きた言語があり、ほぼ 3 倍です。ただし、作成されたカートグラムでは、依然としてロシアが中国より大きく表示されています。
各国のデータは次のとおりです。
私は何を間違っていますか?
編集
FuzzyLeapfrog の回答に従って、南極大陸を削除し、地図をロビンソン図法に変換しました。
メルカトル図法、ロビンソン図法、変形後の 3 つのマップを次に示します。灰色のトーンは、生きている言語の数に比例します (暗いほど数が多くなります)。
ロシアはまだ中国よりも大きいと思いませんか?
EDIT2
上記の Natural Earth マップは軽量のシェープファイルです (.shp は 182 kB しかありません)。より詳細なマップ (6.5 MB の .shp) を使用して、次のマップを取得しました (ロビンソン投影とロビンソン変形)。ロシアはまだ大きすぎる!国の原寸が最終的な形に影響するのかな(ないと思ってたけど、今思うと)。元のサイズが最終結果に影響しないようにするためのオプションがあるかもしれませんか?
EDIT3
Mollweide と Lambert Cylindrical の 2 つの正積図法を試しました。以下はランバートの結果で、現在赤で示されています。最初に投影されたマップ、次に投影された + 変形されたマップです。赤が多いほど、面積が大きくなります。しかし、そうではありません (パプア ニューギニアとオーストラリアを比較してみてください)。
cartogram_cont
パッケージの関数がcartogram
本当にやるべきだと思っていることをしているのだろうかと思います。ヘルプ ページには、「ラバー シート歪みアルゴリズム (Dougenik et al. 1985)」に従っていると書かれています。