boxRのplot(): 作り方 BoxRStudio でのプロット [例]

boxRのplot()

boxRのplot() データの分布を四分位ごとに視覚化し、外れ値の存在を検出するのに役立ちます。 幾何学オブジェクト geom_ を使用できます。boxggplot2ライブラリからのplot()を使用して描画します boxRのplot()。

大気質データセットを使用して紹介します boxRのggplotを使用したplot()。 このデータセットは、1973 年 154 月から XNUMX 月までのニューヨークの大気質を測定します。データセットには XNUMX 件の観測値が含まれています。 以下を使用しますwing 変数:

  • オゾン:数値変数
  • 風:数値変数
  • 月: XNUMX 月から XNUMX 月まで。 数値変数

創造する Box プロット

最初の作成を始める前に boxR の Lot() では、次のようにデータを操作する必要があります。

  • ステップ 1: データをインポートする
  • ステップ 2: 不要な変数を削除する
  • ステップ 3: 因子水準で月を変換する
  • ステップ 4: 月を開始、中間、終了の XNUMX つのレベルで分割する新しいカテゴリ変数を作成します。
  • ステップ 5: 欠落している観測値を削除する

これらの手順はすべて、dplyr とパイプライン演算子 %>% を使用して実行されます。

library(dplyr)
library(ggplot2)
# Step 1
data_air <- airquality % > %

#Step 2
select(-c(Solar.R, Temp)) % > %

#Step 3
mutate(Month = factor(Month, order = TRUE, labels = c("May", "June", "July", "August", "September")), 
       
#Step 4 
day_cat = factor(ifelse(Day < 10, "Begin", ifelse(Day < 20, "Middle", "End"))))

関数 Glamise() を使用してデータの構造をチェックすることをお勧めします。

glimpse(data_air)

出力:

## Observations: 153
## Variables: 5
## $ Ozone   <int> 41, 36, 12, 18, NA, 28, 23, 19, 8, NA, 7, 16, 11, 14, ...
## $ Wind    <dbl> 7.4, 8.0, 12.6, 11.5, 14.3, 14.9, 8.6, 13.8, 20.1, 8.6...
## $ Month   <ord> May, May, May, May, May, May, May, May, May, May, May,...
## $ Day     <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,...
## $ day_cat <fctr> Begin, Begin, Begin, Begin, Begin, Begin, Begin, Begi...

データセットには NA があります。それらを削除するのは、 wise.

# Step 5
data_air_nona <-data_air %>% na.omit()	

Basic box プロット

基本的な R をプロットしてみましょう box月ごとのオゾンの分布をプロット()します。

# Store the graph
box_plot <- ggplot(data_air_nona, aes(x = Month, y = Ozone))
# Add the geometric object box plot
box_plot +
    geom_boxplot()

コードの説明

  • 今後使用するためにグラフを保存する
    • box_plot: グラフを変数に保存します box_plot 今後使用するか、com を避けるのに役立ちますplex コード行
  • Rの幾何学的オブジェクトを追加します boxプロット()
    • データセット data_air_nona を ggplot に渡します。 boxプロット。
    • aes() 引数内に、x 軸と y 軸を追加します。
    • + 記号は、R にコードを読み続けてもらいたいことを意味します。 コードを分割することでコードが読みやすくなります。
    • geom_ を使用するboxを作成するには、plot() box プロット

出力:

Basic Box プロット

グラフの側面を変更する

グラフの側面を反転できます。

box_plot +
  geom_boxplot()+
  coord_flip()

コードの説明

  • box_plot: 保存したグラフを使用します。 これにより、グラフに新しい情報を追加するたびにすべてのコードを書き直す必要がなくなります。
  • ジオム_boxプロット(): 作成 boxRのplots()
  • coord_flip(): グラフの側面を反転します。

出力:

グラフの側面を変更する

外れ値の色を変更する

外れ値の色、形、サイズを変更できます。

box_plot +
    geom_boxplot(outlier.colour = "red",
        outlier.shape = 2,
        outlier.size = 3) +
    theme_classic()

コードの説明

  • outlier.colour=”red”: 外れ値の色を制御します。
  • outlier.shape=2: 外れ値の形状を変更します。 2は三角形を指します
  • outlier.size=3: 三角形のサイズを変更します。 サイズは数に比例します。

出力:

外れ値の色の変更

要約統計を追加する

要約統計を R に追加できます。 boxプロット()。

box_plot +
    geom_boxplot() +
    stat_summary(fun.y = mean,
        geom = "point",
        size = 3,
        color = "steelblue") +
    theme_classic()

コードの説明

  • stat_summary() を使用すると、水平方向に要約を追加できます。 boxプロットR
  • 引数 fun.y は、返される統計を制御します。 あなたは平均を使用します
  • 注: 最小値や最大値などの他の統計も利用できます。 複数の統計を同じグラフに表示できます
  • geom = “point”: 平均を点でプロットします
  • size=3: ポイントのサイズ
  • color =”steelblue”: ポイントの色

出力:

要約統計の追加

Box ドットでプロットする

次の水平方向では boxプロット R では、ドット プロット レイヤーを追加します。 各ドットは観測値を表します。

box_plot +
    geom_boxplot() +
    geom_dotplot(binaxis = 'y',
        dotsize = 1,
        stackdir = 'center') +
    theme_classic()

コードの説明

  • geom_dotplot() を使用すると、ビンの幅にドットを追加できます
  • binaxis='y': y 軸に沿ったドットの位置を変更します。 デフォルトでは、x 軸
  • dotsize=1: ドットのサイズ
  • stackdir='center': ドットを積み重ねる方法: XNUMX つの値:
    • 「上」(デフォルト)、
    • "下"
    • "中心"
    • 「センターホール」

出力:

Box ドットでプロットする

コントロールの美学 Box プロット

の色を変更します。 box

グループの色を変更できます。

ggplot(data_air_nona, aes(x = Month, y = Ozone, color = Month)) +
    geom_boxplot() +
    theme_classic()

コードの説明

  • グループの色は aes() マッピングで制御されます。 color= Month を使用して、 box 月ごとのひげプロット

出力:

の色を変更します Box

Box 複数のグループを含むプロット

複数のグループを追加することも可能です。 測定日による空気質の違いを可視化できます。

ggplot(data_air_nona, aes(Month, Ozone)) +
    geom_boxplot(aes(fill = day_cat)) +
    theme_classic()

コードの説明

  • 幾何学オブジェクトの aes() マッピングは、表示するグループを制御します (この変数は係数である必要があります)
  • aes(fill= day_cat) では XNUMX つを作成できます boxX 軸の各月の es

出力:

Box 複数のグループを使用したプロット

Box ジッタードットのあるプロット

ドットを表示する別の方法は、ジッター ポイントを使用することです。 ポイントを視覚化するのに便利な方法です boxR 変数のカテゴリデータをプロットします。

この方法により、離散データの重複が回避されます。

box_plot +
    geom_boxplot() +
    geom_jitter(shape = 15,
        color = "steelblue",
        position = position_jitter(width = 0.21)) +
    theme_classic()

コードの説明

  • geom_jitter() は、各ポイントに少しの減衰を追加します。
  • shape=15 はポイントの形状を変更します。 15 は平方を表しますares
  • color = “steelblue”: ポイントの色を変更します
  • Position=position_jitter(width = 0.21): 重なるポイントの配置方法。 Position_jitter(width = 0.21) は、ポイントを X 軸から 20 パーセント移動することを意味します。 デフォルトでは 40 パーセントです。

出力:

Box ジッタードットのあるプロット

ジッター法を使用した最初のグラフとポイント法を使用した XNUMX 番目のグラフの違いがわかります。

box_plot +
    geom_boxplot() +
    geom_point(shape = 5,
        color = "steelblue") +
    theme_classic()

Box ジッタードットのあるプロット

切り欠かれた Box プロット

geom_ の興味深い機能boxノッチ付きのplot() boxR のプロット関数。ノッチ プロットは、 box 中央値のあたり。 ノッチの主な目的 box プロットは、グループ間の中央値の有意性を比較することです。 ノッチが重ならない場合、XNUMX つのグループの中央値が異なるという強力な証拠があります。 ノッチは次のように計算されます。

切り欠かれた Box プロット

with は四分位と観測値の数です。

box_plot +
    geom_boxplot(notch = TRUE) +
    theme_classic()

コードの説明

  • ジオム_boxプロット(notch=TRUE): ノッチ付き水平線を作成します。 boxプロットR

出力:

切り欠かれた Box プロット

まとめ

さまざまなタイプの水平方向を要約することができます。 box以下の表に R をプロットします。

DevOps Tools Engineer試験のObjective Code
Basic box プロット
ggplot(df, aes( x = x1, y =y)) + geom_boxplot()
横をひっくり返す
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + coord_flip()
切り欠かれた box プロット
ggplot(df, aes( x = x1, y =y)) + geom_boxplot(notch=TRUE)
Box ジッターしたドットを含むプロット
ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + geom_jitter(position = position_jitter(0.21))

また、チェックしてください:- 初心者向け R チュートリアル: R プログラミング言語を学ぶ