Rでggplot2:ヒストグラムの作成コマンド

ggplot2
スポンサーリンク

棒で項目の値を示す棒グラフと違い、出現数を表すヒストグラムの作成コマンド「geom_bar」の紹介です。

スポンサーリンク

「ggplot2」のインストールと読み込み

「tidyverse」をインストールして「ggplot2」パッケージを利用するのが便利です。

# パッケージのインストール
install.packages("tidyverse")

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

対象データ

下記のような、1変量のデータが対象データです。

## 対象データ
# 一変量_X or Y:Yes
#   文字:Yes
#   数字:Yes
# 二変量_X and Y:No

# 例
Chr_data <- data.frame(Chr = sample(LETTERS[c(1, 5, 8)],
                                    size = 100,
                                    replace = TRUE),
                       Group = sample(LETTERS[1:2],
                                      size = 100,
                                      replace = TRUE)) 

Num_data <- data.frame(discrete = sample(c(1, 3, 6),
                                         size = 100,
                                         replace = TRUE))

設定なしでプロット

ggplot(Chr_data, aes(x = Chr)) +
  geom_bar()

体裁の設定例

枠線色、塗色、積み上げ・グループ毎に横並びなどの表現方法の設定例です。

## 枠色の設定:colorオプション
# 各項目のみの塗分けはGroupオプションを使用しない
ggplot(Chr_data, aes(x = Chr, color = Group,
                        Group = Group)) +
  geom_bar()

# 好みの色はscale_color_manualコマンドを使用する
ggplot(Chr_data, aes(x = Chr, color = Group,
                        Group = Group)) +
  geom_bar() +
  scale_color_manual(values = c("A" = "red", "B" = "yellow"))

## 塗色の設定:fillオプション
# 各項目のみの塗分けはGroupオプションを使用しない
ggplot(Chr_data, aes(x = Chr, fill = Group,
                        Group = Group)) +
  geom_bar()

# 好みの色はscale_fill_manualコマンドを使用する
ggplot(Chr_data, aes(x = Chr, fill = Group,
                        Group = Group)) +
  geom_bar() +
  scale_fill_manual(values = c("A" = "blue", "B" = "yellow"))

## 表現方法:positionオプション
# "dodge","dodge2","stack"
ggplot(Chr_data, aes(x = Chr, group = Group)) +
  geom_bar(position = "dodge")

ggplot(Chr_data, aes(x = Chr, group = Group)) +
  geom_bar(position = "dodge2")

ggplot(Chr_data, aes(x = Chr, group = Group)) +
  geom_bar(position = "stack")

## Y軸の値で参考線を追加する
# geom_hlineコマンドを追加する
ggplot(Chr_data, aes(x = Chr)) +
  geom_bar() +
  geom_hline(color = "red", linewidth = 2,
             yintercept = 15, show.legend = NA) 

作図例


少しでも、あなたの解析に役に立ちますように!

タイトルとURLをコピーしました