Rで解析:タイルグリッドでアメリカ合衆国のヒートマップ「minimap」パッケージ


タイルグリッドで州を示し、アメリカ合衆国のヒートマップを作成するパッケージです。最近、アメリカ合衆国からのアクセスもなぜか増えているので紹介します。

実行コマンドでは、データに指定した色をプロットする方法と、データの値を判断して付与した色をプロットする方法を紹介します。

参考までにタイルグリッドではありませんが、日本地図のヒートマップ作成に便利な「Nippon」パッケージを紹介します。

・「Nippon」パッケージの紹介
 https://www.karada-good.net/analyticsr/r-125/

パッケージバージョンは0.0.9000。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.2で確認しています。


パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("devtools")
devtools::install_github("seankross/minimap")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("minimap")

###データ例の作成#####
#パッケージ付属のssmデータから州名を抽出
StateNames <- unique(ssm$state)
#作成
TestData <- data.frame(StateNames = StateNames,
                       Data = sample(1:6, 51, replace = TRUE),
                       StateColors = I(sample(c("#4b61ba", "#a87963", "#deb7a0"),
                                              51, replace = TRUE)))
########

##データに指定した色をプロットする方法
#プロット:miniusaコマンド
#各州名データ:statesオプション
#塗り色:state_colorsオプション
#州名の表示設定:state_namesオプション
#州名の色:state_name_colorsオプション
#州名のサイズ:state_name_cexオプション
miniusa(states = TestData[, 1], state_colors = TestData[, 3],
        state_names = TRUE, state_name_colors = rep("white", 51),
        state_name_cex = 1)

##値で色を判断して塗り分け
#判断のfunctionを作成
ColorJudge <- function(x){
  if(x < 2){
    
    "#90736a"
    
  } else if(x >= 2 & x <= 4) {
    
    "#28231e"
    
  } else {
    
    "#4b61ba"
    
  }}
#処理
DataColor <- sapply(TestData[, 2], ColorJudge)
#プロット
miniusa(states = TestData[, 1], state_colors = DataColor,
        state_names = TRUE, state_name_colors = rep("white", 51),
        state_name_cex = 1)
#カラーバーを追加
#install.packages("fields")
library("fields")
image.plot(z = 1:5, nlevel = 6, col = c("#90736a", "#28231e", "#4b61ba"), legend.only = TRUE)

出力例

・データに指定した色をプロットする方法
miniusa

・データの値を判断して付与した色をプロット
Oriminiusa


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク