2023.10.24作成  2024.2.8更新

これから研究を始める高校生と指導教員のために 第2版
探究活動と課題研究の進め方・論文の書き方・口頭とポスター発表の仕方
(これ研)

副読文書

V-1. データの値がそもそもばらつく対象の解析
母集団間でのデータ分布の違いの解析
(「これ研」本文の第3部第3.1, 3.2節;p. 84)

私のサイトでの本書紹介文

共立出版の本書紹介サイト ご購入もこちらからどうぞ

 「これから研究を始める高校生と指導教員のために 第2版;探究活動と課題研究の進め方・論文の書き方・口頭とポスター発表の仕方」(これ研)の第3部3.1節「母集団における、データの値の分布の要約」(p. 84)および3.2節「母集団間での、データ分布の違いの解析」(p. 87)で行っている解析と作図を、Rを使って行う方法の解説です。メダカの体長と産卵数を例に、母集団間でのデータ分布の違いの示し方を説明します。「これ研」の第3部第3章「データの値がそもそもばらつく対象の解析」(p. 83)を読んで、こうした対象の解析について理解しておいて下さい。

  1. 解析に用いるcsvファイルのRへの読み込み
  2. 統計量(平均・標準偏差・中央値・四分位数)の計算(「これ研」本文の第3部3.1.1, 3.1.2項;p. 85, 第3部5.3.6項; p. 115)
    1. 平均と標準偏差の計算(「これ研」本文の第3部3.1.1項;p. 85, 第3部5.3.6項; p. 115)
      1. 全地域についてまとめて計算
      2. 特定の地域について計算
    2. 中央値と四分位数の計算(「これ研」本文の第3部3.1.2項;p. 86)
      1. 全地域についてまとめて計算
      2. 特定の地域について計算
  3. 作図(「これ研」本文の第3部3.2節;p. 87)
    1. メダカの体長のヒストグラム(「これ研」本文の図3.7;p. 88)
      1. 全地域のヒストグラムを並べて描く
      2. 全地域のヒストグラムを一枚の図に描く
      3. 特定の地域のヒストグラムを描く
    2. メダカの体長の箱ひげ図(「これ研」本文の図3.8;p. 90)
      1. 全地域の箱ひげ図を並べて描く
      2. 特定の地域の箱ひげ図を描く
    3. メダカの体長の点グラフ(「これ研」本文の図3.9;p. 91)
      1. 全地域の点グラフを並べて描く
      2. 特定の地域の点グラフを描く
    4. メダカの産卵数の棒グラフ(「これ研」本文の図3.10;p. 91)
      1. 全地域の棒グラフを並べて描く
      2. 特定の地域の棒グラフを描く

 RStudioを起動して下さい。起動方法の詳しい説明は、RStusioの起動の仕方を参照して下さい。そして、作業ディレクトリを指定します。

作業ディレクトリの指定

setwd("/Users/sakai/Documents/書籍等原稿/これ研2版/課題研究解析")

# あなたの作業ディレクトリの位置を""で囲んで書きます。

# この命令文を実行しておきます。

# 作業ディレクトリの指定

 作図にはtidyverseというものを用います。tidyverseをインストールしてありますか? まだならば、「作図の準備」の説明に従ってインストールして下さい。tidyverseをRに読み込みます。

tidyverseのRへの読み込み

library(tidyverse)

# RStudioを起動しこの命令文を実行しておきます。Rstudio起動後、一度だけ実行すればよいです。Rstudioを終了して再び起動したときは再実行する必要があります。

 解析では、データフレームの中の特定のデータ列を指定することを行います。指定の方法です。

データフレームの中の特定のデータ列の指定方法

データフレーム名$データ列名

# データフレーム名を書き、$を挟んで、指定したいデータ列名を書きます。

# 実行例

d$Angle.degree
d$Flying.distance.m

# データフレームdに入っているデータ列Angle.degree, flying.distance.mを指定します。

このページの文頭に戻る

1. 解析に用いるcsvファイルのRヘの読み込み

 csvファイル「Medaka.csv」(画面1)に、メダカの地域(Locality)・体長(Length.mm)・産卵数(Egg.number)・体重(Weight.mg)が入っています(架空データです)。このcsvファイルのデータを使って解析と作図を行います。

画面1
このデータのcsvファイルのダウンロード

このcsvファイルをダウンロードして、あなたの作業ディレクトリに入れて下さい(作業ディレクトリの指定を参照)。

 ご自身のデータを用いる場合は、そのデータが入ったcsvファイルを作業ディレクトリに入れて下さい。Excelで作ったファイルをcsvファイルに変換する方法は、Excelで作った解析用ファイルのcsv形式での保存を参照して下さい。

 csvファイルをRに読み込み、データフレームに格納します。

csvファイルのRへの読み込み

d <- read.csv("Medaka.csv")

# csvファイル「Medaka.csv」を読み込んでデータフレームdに格納します。ファイル名を""で囲みます。ファイル名の拡張子「.csv」も忘れずに書きます。

# データフレームの名称(この例ではd)はお好みのものでよいです。

# Excelで作った解析用ファイルのRへの読み込み

 地域の並び順を指定したい場合は以下の命令を実行します。これを実行しないとアルファベット順に並びます。

データの並び順の指定

d$Locality <- factor(d$Locality, levels=c("Tohoku", "Kanto", "Kansai", "Kyushu"))

# 地域の並び順を指定します。データフレームd中のデータ列Localityに地域名が入っています。並べたい順番に地域名を書きます。地域名は文字情報なので、地域名を""で囲みます。

# d$Localityの中身を上書きするためにd$Localityに再格納します。

# この命令を実行しないとアルファベット順に地域が並びます。

# データの並び順の指定

このページの文頭に戻る

2. 統計量(平均・標準偏差・中央値・四分位数)の計算
(「これ研」本文の第3部3.1.1, 3.1.2項;p. 85, 第3部5.3.6項; p. 115)

    

 メダカのデータを用いて、色々な統計量(平均・標準偏差・中央値・四分位数)を計算する方法を説明します。

2.1. 平均と標準偏差の計算
(「これ研」本文の第3部3.1.1項;p. 85, 第3部5.3.6項; p. 115)

   

 平均と標準偏差の計算をします。標準偏差の関数はRに備わっているので自分で定義する必要はありません。全地域についてまとめて計算する方法と、特定の地域について計算する方法とがあります。

2.1.1. 全地域についてまとめて計算

全地域についてまとめて計算

# 各地域の体長の平均を計算

tapply(d$Length.mm, d$Locality, mean)

# データ列d$Localityに入っている地域ごとに、データ列d$Length.mmに入っている体長の平均を計算します。

# meanが、平均を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# 各地域の体長の標準偏差を計算

tapply(d$Length.mm, d$Locality, sd)

# データ列d$Localityに入っている地域ごとに、データ列d$Length.mmに入っている体長の標準偏差を計算します。

# sdが、標準偏差を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# tapplyを用いた一括計算

このページの文頭に戻る

2.1.2. 特定の地域について計算

 ある特定の地域について計算をしたいこともあるでしょう。その場合は、その地域のデータを取り出して計算します。

特定の地域について計算

# 特定の地域のデータを取り出す

d2 <- filter(d, Locality == "Tohoku")

# Tohokuのデータを取り出す場合です。

# データフレームdから、データ列Localityに入っている地域名がTohokuのものを取り出しデータフレームd2に格納します。=を2つ繋げ==とすることに注意して下さい。地域名は文字情報なので、地域名を""で囲みます。

# 格納するデータフレームの名称(この例ではd2)はお好みのものでよいです。

# 複数の地域のデータを取り出すこともできます(すぐ下のリンクを参照)。

# データフレーム中の特定のデータの取り出し

# 平均と標準偏差を計算

mean(d2$Length.mm)
sd(d2$Length.mm)

# データフレームd2に格納した地域の平均および標準偏差を計算します。mean()で平均を、sd()で標準偏差を計算します。()内に計算したいデータを入れます。

# 複数の地域を取り出した場合は、全地域についてまとめて計算と同じ方法で計算します。

このページの文頭に戻る

2.2. 中央値と四分位数の計算
(「これ研」本文の第3部3.1.2項;p. 86)

 メダカの体長の中央値と四分位数を計算しましょう。csvファイル「Medaka.csv」をデータフレームdに格納済みであるとします。格納していない場合は、解析に用いるcsvファイルのRヘの読み込みの説明に従って格納して下さい。地域の並び順を指定したい場合はその指定も行って下さい。ご自身のデータを用いる場合は、そのファイルをデータフレームdに格納して下さい。

2.2.1. 全地域についてまとめて計算

 以下を実行すると、全地域のメダカについてまとめて計算します。

中央値と四分位数の計算

tapply(d$Length.mm, d$Locality, quantile)

# データ列d$Localityに入っている地域ごとに、データ列d$Length.mmに入っている体長の中央値と四分位数を計算します。

# quantileが、中央値と四分位数を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# 実行結果です。25%が第1四分位数、50%が中央値、75%が第3四分位数です。0%が最小値、100%が最大値です。

# tapplyを用いた一括計算

このページの文頭に戻る

2.2.2. 特定の地域について計算

 特定の地域の中央値と四分位数を計算することもできます。

特定の地域について計算

# 特定の地域のデータを取り出す

d2 <- filter(d, Locality == "Tohoku")

# Tohokuのデータを取り出す場合です。

# データフレームdから、データ列Localityに入っている地域名がTohokuのものを取り出しデータフレームd2に格納します。=を2つ繋げ==とすることに注意して下さい。地域名は文字情報なので、地域名を""で囲みます。

# 格納するデータフレームの名称(この例ではd2)はお好みのものでよいです。

# 複数の地域のデータを取り出すこともできます(すぐ下のリンクを参照)。

# データフレーム中の特定のデータの取り出し

quantile(d2$Length.mm)

# データフレームd2に格納した地域の中央値と四分位数を計算します。quantile()で計算します。()内に計算したいデータを入れます。

# 実行結果です。東北のメダカの体長の計算結果が出力されています。25%が第1四分位数、50%が中央値、75%が第3四分位数です。0%が最小値、100%が最大値です。

# 複数の地域を取り出した場合は、全地域についてまとめて計算と同じ方法で計算します。

このページの文頭に戻る

3. 作図
(「これ研」本文の第3部3.2節; p. 87)

 tidyverseを使っての作図の仕方を説明します。tidyverseをRに読み込んでいますか? 読み込んでいない場合は、library(tidyverse)を実行して読み込んで下さい。

 作図の命令文の基本です。

作図の命令文の基本

ggplot(データフレーム名, aes(データ)) +
geom_描く図の英語名() +
書式の命令文 +
書式の命令文

# ggplotで、用いるデータを指定します。

# geom_で、描く図を指定します。

# 書式の命令文を+で繋げます。いくつでも繋げることができます。最後の命令文の後に+は不要です。

 以下では、図の軸の説明が英語の図を描きます。しかし、日本語の論文・プレゼンテーションに使う図の説明文は日本語にしましょう。日本語にする場合の説明も添えているので参照して下さい。

3.1. メダカの体長のヒストグラム
(「これ研」本文の図3.7; p. 88)

 メダカの体長のヒストグラム(画面2-1, 2-2, 3-1, 3-2, 4-1, 4-2)を作図しましょう。csvファイル「Medaka.csv」をデータフレームdに格納済みであるとします。格納していない場合は、解析に用いるcsvファイルのRヘの読み込みの説明に従って格納して下さい。地域の並び順を指定したい場合はその指定も行って下さい。ご自身のデータを用いる場合は、そのファイルをデータフレームdに格納して下さい。

全地域のヒストグラムを並べて描く(描き方)
画面2-1
画面2-2

全地域のヒストグラムを一枚の図に描く(描き方)
画面3-1
画面3-2

特定の地域のヒストグラムを描く(描き方)
画面4-1
画面4-2

3.1.1. 全地域のヒストグラムを並べて描く

 全地域のヒストグラムを並べて描く(画面2-1, 2-2)方法を説明します。

全地域のヒストグラムを並べて描く

# 命令文が続く場合には+で繋げ、最後の命令文の後には+を付けません。

# 必須命令文

ggplot(d, aes(x = Length.mm)) +

# データフレームdを指定します。

# x = Length.mmとして、ヒストグラムを描く体長のデータ列Length.mmをx軸(横軸)に指定します。xは小文字です。

# 末尾の+を忘れないで下さい。

# ヒストグラムにおける、作図に用いるデータフレームとデータの指定

geom_histogram() +

# 描く図としてヒストグラムを指定します。

# 末尾の+を忘れないで下さい。

# ヒストグラムの指定

facet_wrap(~ Locality, ncol = 1) +

# データ列Localityに入っている地域ごとにヒストグラムを描きます。それらの図を並べて示します。Localityの前の~を忘れずに書いて下さい。

# 図の並べ方をncol(またはnrow)で指定します。ncol=1にすると縦1列に並びます。

# 末尾の+を忘れないで下さい。ただし、以降の命令文を省略する場合は+を付けず、「facet_wrap(~ Locality, ncol = 1)」とします。

# 複数の図の並べ方の指定

# 省略してもよい命令文

# 以降の命令文を省略するとデフォルトで自動で描きます。

labs(x = "Body length (mm)", y = "Frequency") +

# x軸(横軸)の名称をBody length (mm)に、y軸(縦軸)の名称をFrequencyにします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_y_continuous(limits = c(0, 10)) +

# y軸(縦軸)を描く範囲を0から10に指定します。ヒストグラムの場合は、y軸の最小値を必ず0にします。

# x軸・y軸の値の最小値・最大値の指定

theme_classic() +

# 図の背景色を白にします。

# 図のデザインの指定

theme(
axis.title.x = element_text(size = 18),
axis.text.x = element_text(size = 9),
axis.title.y = element_text(size = 18),
axis.text.y = element_text(size = 9)
)

# x軸(横軸)・y軸(縦軸)の名称(axis.title.x, axis.title.y)の文字の大きさを18に、x軸・y軸の目盛り(axis.text.x, axis.text.y)の文字の大きさを9に指定します。

# x軸・y軸の文字の大きさと書き方の指定

軸の説明を日本語にする場合

 画面2-2のように軸の説明を日本語にする場合は、以下の2つの命令文を書き替えます。他の命令文はそのままでよいです。

labs(x = "体長(mm)", y = "頻度") +

# x軸(横軸)の名称を体長(mm)に、y軸(縦軸)の名称を頻度にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

theme_classic(base_family = "HiraKakuPro-W3") +

# 日本語のフォントとしてHiraKakuPro-W3を指定します。フォントの名称を""で囲みます。

# HiraKakuPro-W3の他にも、HiraKakuPro-W6, Meiryo, MS Gothic, Osakaなど色々なフォントがあります。お好みのフォントを設定して下さい。

# 図のデザインの指定

# Tohokuといった文字を日本語にしたい場合は、この図をPowerPoint等に読み込んで修正するのが手っ取り早いです。英語を白く塗りつぶしたり切り取ったりして、日本語を書き込みましょう。PowerPoint等への図の読み込み方は、図の保存・コピーの仕方を参照して下さい。

このページの文頭に戻る

3.1.2. 全地域のヒストグラムを一枚の図に描く

 全地域のヒストグラムを一枚の図に描く(画面3-1, 3-2)方法を説明します。

全地域のヒストグラムを一枚の図に描く

# 命令文が続く場合には+で繋げ、最後の命令文の後には+を付けません。

# 必須命令文

ggplot(d, aes(x = Length.mm, color = Locality, fill = Locality)) +

# データフレームdを指定します。

# x = Length.mmとして、体長(Length.mm)が入っているデータ列Length.mmをx軸(横軸)に指定します。xは小文字です。

# color = Locality, fill = Localityとして、棒の枠線(color)および内部(fill)を、Localityに入っている地域名(Tohokuなど)ごとに色分けします。colorとfillに同じデータ列を指定します。

# 末尾の+を忘れないで下さい。

# ヒストグラムにおける、作図に用いるデータフレームとデータの指定

geom_histogram(position = "dodge") +

# 描く図としてヒストグラムを指定します。

# position="dodge"と指定して、各地域の同じデータ値の棒(たとえば体長2.0 - 2.2 mmの棒)を、重ならないようにずらして横に並べます。

# 末尾の+を忘れないで下さい。ただし、以降の命令文を省略する場合は+を付けず、「geom_histogram(position = "dodge")」とします。

# ヒストグラムの指定

# 省略してもよい命令文

# 以降の命令文を省略するとデフォルトで自動で描きます。

labs(x = "Body length (mm)", y = "Frequency") +

# x軸(横軸)の名称をBody length (mm)に、y軸(縦軸)の名称をFrequencyにします。名称を""で囲みます。

# x, yは小文字です。

# x軸・y軸の名称の指定

scale_y_continuous(limits = c(0, 10)) +

# y軸(縦軸)を描く範囲を0から10に指定します。ヒストグラムの場合は、y軸の最小値を必ず0にします。

# x軸・y軸の値の最小値・最大値の指定

theme_classic() +

# 図の背景色を白にします。

# 図のデザインの指定

theme(
axis.title.x = element_text(size = 18),
axis.text.x = element_text(size = 9),
axis.title.y = element_text(size = 18),
axis.text.y = element_text(size = 9)
)

# x軸(横軸)・y軸(縦軸)の名称(axis.title.x, axis.title.y)の文字の大きさを18に、x軸・y軸の目盛り(axis.text.x, axis.text.y)の文字の大きさを9に指定します。

# x軸・y軸の文字の大きさと書き方の指定

軸の説明を日本語にする場合

 画面3-2のように軸の説明を日本語にする場合は、以下の2つの命令文を書き替えます。他の命令文はそのままでよいです。

labs(x = "体長(mm)", y = "頻度") +

# x軸(横軸)の名称を体長(mm)に、y軸(縦軸)の名称を頻度にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

theme_classic(base_family = "HiraKakuPro-W3") +

# 日本語のフォントとしてHiraKakuPro-W3を指定します。フォントの名称を""で囲みます。

# HiraKakuPro-W3の他にも、HiraKakuPro-W6, Meiryo, MS Gothic, Osakaなど色々なフォントがあります。お好みのフォントを設定して下さい。

# 図のデザインの指定

# Locality, Tohokuといった文字を日本語にしたい場合は、この図をPowerPoint等に読み込んで修正するのが手っ取り早いです。英語を白く塗りつぶしたり切り取ったりして、日本語を書き込みましょう。PowerPoint等への図の読み込み方は、図の保存・コピーの仕方を参照して下さい。

このページの文頭に戻る

3.1.3. 特定の地域のヒストグラムを描く

 特定の地域のヒストグラムを描く(画面4-1, 4-2)方法を説明します。まず始めに、作図に用いるデータを取りだしてデータフレームに格納します。

作図に用いる値の格納

d2 <- filter(d, Locality == "Tohoku")

# Tohokuのデータを取り出す場合です。

# データフレームdから、データ列Localityに入っている地域名がTohokuのものを取り出しデータフレームd2に格納します。=を2つ繋げ==とすることに注意して下さい。地域名は文字情報なので、地域名を""で囲みます。

# 格納するデータフレームの名称(この例ではd2)はお好みのものでよいです。

# 複数の地域のデータを取り出すこともできます(すぐ下のリンクを参照)。

# データフレーム中の特定のデータの取り出し

 格納したデータを用いて作図します。

特定の地域のヒストグラムを作図

# 命令文が続く場合には+で繋げ、最後の命令文の後には+を付けません。

# 必須命令文

ggplot(d2, aes(x = Length.mm)) +

# データフレームd2を指定します。

# x = Length.mmとして、ヒストグラムを描く体長のデータ列Length.mmをx軸(横軸)に指定します。xは小文字です。

# 末尾の+を忘れないで下さい。

# ヒストグラムにおける、作図に用いるデータフレームとデータの指定

geom_histogram() +

# 描く図としてヒストグラムを指定します。

# 末尾の+を忘れないで下さい。ただし、以降の命令文を省略する場合は+を付けず、「geom_histogram()」とします。

# ヒストグラムの指定

# 省略してもよい命令文

# 以降の命令文を省略するとデフォルトで自動で描きます。

labs(x = "Body length (mm)", y = "Frequency") +

# x軸(横軸)の名称をBody length (mm)に、y軸(縦軸)の名称をFrequencyにします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_y_continuous(limits = c(0, 8)) +

# y軸(縦軸)を描く範囲を0から8に指定します。ヒストグラムの場合は、y軸の最小値を必ず0にします。

# x軸・y軸の値の最小値・最大値の指定

theme_classic() +

# 図の背景色を白にします。

# 図のデザインの指定

theme(
axis.title.x = element_text(size = 18),
axis.text.x = element_text(size = 9),
axis.title.y = element_text(size = 18),
axis.text.y = element_text(size = 9)
)

# x軸(横軸)・y軸(縦軸)の名称(axis.title.x, axis.title.y)の文字の大きさを18に、x軸・y軸の目盛り(axis.text.x, axis.text.y)の文字の大きさを9に指定します。

# x軸・y軸の文字の大きさと書き方の指定

軸の説明を日本語にする場合

 画面4-2のように軸の説明を日本語にする場合は、以下の2つの命令文を書き替えます。他の命令文はそのままでよいです。

labs(x = "体長(mm)", y = "頻度") +

# x軸(横軸)の名称を体長(mm)に、y軸(縦軸)の名称を頻度にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

theme_classic(base_family = "HiraKakuPro-W3") +

# 日本語のフォントとしてHiraKakuPro-W3を指定します。フォントの名称を""で囲みます。

# HiraKakuPro-W3の他にも、HiraKakuPro-W6, Meiryo, MS Gothic, Osakaなど色々なフォントがあります。お好みのフォントを設定して下さい。

# 図のデザインの指定

このページの文頭に戻る

3.2. メダカの体長の箱ひげ図
(「これ研」本文の図3.8; p. 90)

 メダカの体長の箱ひげ図(画面5-1, 5-2, 6-1, 6-2)を作図しましょう。csvファイル「Medaka.csv」をデータフレームdに格納済みであるとします。格納していない場合は、解析に用いるcsvファイルのRヘの読み込みの説明に従って格納して下さい。地域の並び順を指定したい場合はその指定も行って下さい。ご自身のデータを用いる場合は、そのファイルをデータフレームdに格納して下さい。

全地域の箱ひげ図を並べて描く(描き方)
画面5-1
画面5-2

特定の地域の箱ひげ図を描く(描き方)
画面6-1
画面6-2

3.2.1. 全地域の箱ひげ図を並べて描く

 全地域の箱ひげ図を並べて描く(画面5-1, 5-2)方法を説明します。

全地域の箱ひげ図を並べて描く

# 命令文が続く場合には+で繋げ、最後の命令文の後には+を付けません。

# 必須命令文

ggplot(d, aes(x = Locality, y = Length.mm)) +

# データフレームdを指定します。

# x = Localityとして、地域(Locality)が入っているデータ列Localityをx軸(横軸)に指定します。xは小文字です。

# y = Length.mmとして、体長(Length.mm)が入っているデータ列Length.mmをy軸(縦軸)に指定します。yは小文字です。

# データ列Localityに入っている地域ごとに、データ列Length.mmに入っている体長のデータを作図します。

# 末尾の+を忘れないで下さい。

# 箱ひげ図における、作図に用いるデータフレームとデータの指定

geom_boxplot() +

# 描く図として箱ひげ図を指定します。

# 末尾の+を忘れないで下さい。ただし、以降の命令文を省略する場合は+を付けず、「geom_boxplot()」とします。

# 箱ひげ図の指定

# 省略してもよい命令文

# 以降の命令文を省略するとデフォルトで自動で描きます。

labs(x = "", y = "Body length (mm)") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称をBody length (mm)にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_y_continuous(limits = c(0, 50)) +

# y軸(縦軸)を描く範囲を0から50に指定します。

# x軸・y軸の値の最小値・最大値の指定

theme_classic() +

# 図の背景色を白にします。

# 図のデザインの指定

theme(
axis.text.x = element_text(size = 18),
axis.title.y = element_text(size = 18),
axis.text.y = element_text(size = 9)
)

# x軸(横軸)の目盛り(axis.text.x)には地域名(Tohokuなど)が入っています。地域名とy軸(縦軸)の名称(axis.title.y)の文字の大きさを18に、y軸の目盛り(axis.text.y)の文字の大きさを9に指定します。x軸(横軸)の名称(axis.title.x)は書かないので、その文字の大きさも指定しません。

# x軸・y軸の文字の大きさと書き方の指定

軸の説明を日本語にする場合

 画面5-2のように軸の説明を日本語にする場合は、2つの命令文(下記の1つ目と3つ目)を書き替え、1つの命令文(下記の2つ目)を書き足します。他の命令文はそのままでよいです。

labs(x = "", y = "体長(mm)") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称を体長(mm)にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_x_discrete(labels = c("東北", "関東", "関西", "九州")) +

# 書き足す命令文です。labs(x = "", y = "体長(mm)") +の次に書いて下さい。

# x軸(横軸)の各データ群名として東北, 関東, 関西, 九州を書き込みます。d$Localityでの並び順(あなたが指定した並び順またはアルファベット順)通りに地域名を並べて下さい。並びが異なっていたらデータの対応がおかしくなります。地域名を""で囲みます。

# x軸にデータ群名を書き込む

theme_classic(base_family = "HiraKakuPro-W3") +

# 日本語のフォントとしてHiraKakuPro-W3を指定します。フォントの名称を""で囲みます。

# HiraKakuPro-W3の他にも、HiraKakuPro-W6, Meiryo, MS Gothic, Osakaなど色々なフォントがあります。お好みのフォントを設定して下さい。

# 図のデザインの指定

このページの文頭に戻る

3.2.2. 特定の地域の箱ひげ図を描く

 特定の地域の箱ひげ図を描く(画面6-1, 6-2)方法を説明します。まず始めに、データフレームdから作図に用いる値(作図する地域のデータ)を取り出して格納します。

作図に用いる値の格納

d2 <- filter(d, Locality == "Tohoku")

# Tohokuのデータを取り出す場合です。

# データフレームdから、データ列Localityに入っている地域名がTohokuのものを取り出しデータフレームd2に格納します。=を2つ繋げ==とすることに注意して下さい。地域名は文字情報なので、地域名を""で囲みます。

# 格納するデータフレームの名称(この例ではd2)はお好みのものでよいです。

# 複数の地域のデータを取り出すこともできます(すぐ下のリンクを参照)。

# データフレーム中の特定のデータの取り出し

 作図の仕方は、全地域の箱ひげ図を並べて描く場合と同じです。ただし、冒頭の命令文のデータフレームはdではなくd2です。

特定の地域の箱ひげ図を描く

# 命令文が続く場合には+で繋げ、最後の命令文の後には+を付けません。

# 必須命令文

ggplot(d2, aes(x = Locality, y = Length.mm)) +

# データフレームd2を指定します。

# x = Localityとして、地域(Locality)が入っているデータ列Localityをx軸(横軸)に指定します。xは小文字です。

# y = Length.mmとして、体長(Length.mm)が入っているデータ列Length.mmをy軸(縦軸)に指定します。yは小文字です。

# データ列Localityに入っている地域ごとに、データ列Length.mmに入っている体長のデータを作図します。

# 末尾の+を忘れないで下さい。

# 箱ひげ図における、作図に用いるデータフレームとデータの指定

geom_boxplot() +

# 描く図として箱ひげ図を指定します。

# 末尾の+を忘れないで下さい。ただし、以降の命令文を省略する場合は+を付けず、「geom_boxplot()」とします。

# 箱ひげ図の指定

# 省略してもよい命令文

# 以降の命令文を省略するとデフォルトで自動で描きます。

labs(x = "", y = "Body length (mm)") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称をBody length (mm)にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_y_continuous(limits = c(0, 50)) +

# y軸(縦軸)を描く範囲を0から50に指定します。

# x軸・y軸の値の最小値・最大値の指定

theme_classic() +

# 図の背景色を白にします。

# 図のデザインの指定

theme(
axis.text.x = element_text(size = 18),
axis.title.y = element_text(size = 18),
axis.text.y = element_text(size = 9)
)

# x軸(横軸)の目盛り(axis.text.x)には地域名(Tohokuなど)が入っています。地域名とy軸(縦軸)の名称(axis.title.y)の文字の大きさを18に、y軸の目盛り(axis.text.y)の文字の大きさを9に指定します。x軸(横軸)の名称(axis.title.x)は書かないので、その文字の大きさも指定しません。

# x軸・y軸の文字の大きさと書き方の指定

軸の説明を日本語にする場合

 画面6-2のように軸の説明を日本語にする場合は、2つの命令文(下記の1つ目と3つ目)を書き替え、1つの命令文(下記の2つ目)を書き足します。他の命令文はそのままでよいです。

labs(x = "", y = "体長(mm)") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称を体長(mm)にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_x_discrete(labels = c("東北")) +

# 書き足す命令文です。labs(x = "", y = "体長(mm)") +の次に書いて下さい。

# x軸(横軸)の各データ群名として東北を書き込みます。地域名を""で囲みます。

# x軸にデータ群名を書き込む

theme_classic(base_family = "HiraKakuPro-W3") +

# 日本語のフォントとしてHiraKakuPro-W3を指定します。フォントの名称を""で囲みます。

# HiraKakuPro-W3の他にも、HiraKakuPro-W6, Meiryo, MS Gothic, Osakaなど色々なフォントがあります。お好みのフォントを設定して下さい。

# 図のデザインの指定

このページの文頭に戻る

3.3. メダカの体長の点グラフ
(「これ研」本文の図3.9; p. 91)

 メダカの体長の点グラフ(画面7-1, 7-2, 8-1, 8-2)を作図しましょう。csvファイル「Medaka.csv」をデータフレームdに格納済みであるとします。格納していない場合は、解析に用いるcsvファイルのRヘの読み込みの説明に従って格納して下さい。地域の並び順を指定したい場合はその指定も行って下さい。ご自身のデータを用いる場合は、そのファイルをデータフレームdに格納して下さい。

全地域の点グラフを並べて描く(描き方)
画面7-1
画面7-2

特定の地域の点グラフを並べて描く(描き方)
画面8-1
画面8-2

3.3.1. 全地域の点グラフを並べて描く

 全地域の点グラフを描く(画面7-1, 7-2)方法を説明します。まず始めに、作図に用いる値(各地域における体長の平均と標準偏差)を計算してデータフレームに格納します。

作図に用いる値の格納

x <- c("Tohoku", "Kanto", "Kansai", "Kyushu")

# 地域名を、データフレームxに格納します。d$Localityでの並び順(あなたが指定した並び順またはアルファベット順)通りに地域名を並べて下さい。並びが異なっていたらデータの対応がおかしくなります。地域名を""で囲みます。

# 格納するデータフレームの名称(この例ではx)はお好みのものでよいです。

# データをRの中で書いてデータフレームに格納

y <- tapply(d$Length.mm, d$Locality, mean)

# データ列d$Localityに入っている地域ごとに、データ列d$Length.mmに入っている体長の平均を計算します。

# meanが、平均を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# 体長の平均をデータフレームyに格納します。格納するデータフレームの名称(この例ではy)はお好みのものでよいです。

# tapplyを用いた一括計算

z <- tapply(d$Length.mm, d$Locality, sd)

# データ列d$Localityに入っている地域ごとに、データ列d$Length.mmに入っている体長の標準偏差を計算します。

# sdが、標準偏差を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# 体長の標準偏差をデータフレームzに格納します。格納するデータフレームの名称(この例ではz)はお好みのものでよいです。

d2 <- data.frame(x, y, z)

# x, y, zのデータを統合してデータフレームd2に格納します。格納するデータフレームの名称(この例ではd2)はお好みのものでよいです。

# 複数のデータを統合して新しいデータフレームを作成

d2$x <- factor(d2$x, levels =c("Tohoku", "Kanto", "Kansai", "Kyushu"))

# 地域の並び順を指定します。データフレームd2中のデータ列xに地域名が入っています。並べたい順番に地域名を書きます。地域名は文字情報なので、地域名を""で囲みます。この命令を実行しないとアルファベット順に地域名が並びます。

# d2$xの中身を上書きするためにd2$xに再格納します。

# csvファイルMedaka.csvを読み込んでデータフレームdに格納したときにデータの並び順を指定したからといって、ここでの並び順の指定を省略してはいけません。

# この命令を実行しないとアルファベット順に地域が並びます。

# データの並び順の指定

# データフレームd2の中身は以下のようになっています。

 格納したデータを用いて点グラフを作図します。

全地域の点グラフを並べて描く

# 命令文が続く場合には+で繋げ、最後の命令文の後には+を付けません。

# 必須命令文

ggplot(d2, aes(x = x, y = y)) +

# データフレームd2を指定します。

# x = xとして、地域名が入っているデータ列xをx軸(横軸)に指定します。「x =」のxは小文字です。

# y = yとして、体長が入っているデータ列yをy軸(縦軸)に指定します。「y =」のyは小文字です。

# 末尾の+を忘れないで下さい。

# 点グラフにおける、作図に用いるデータフレームとデータの指定

geom_point(size = 4) +

# 描く図として点グラフを指定します。

# size = で点の大きさを指定します。4にしています。

# 末尾の+を忘れないで下さい。

# 散布図・点グラフの指定

geom_errorbar(aes(ymin = y - z, ymax = y + z), width = 0.1) +

# 標準偏差を描きます。

# ymin =, ymax =で、標準偏差の縦棒の下端と上端の値を指定します。平均 – 標準偏差(y - z)から平均+標準偏差(y + z)まで縦棒を描きます。

# width =で上下の横棒の幅を指定します。0.1にしています。

# 末尾の+を忘れないで下さい。ただし、以降の命令文を省略する場合は+を付けず、「geom_errorbar(aes(ymin = y - z, ymax = y + z), width = 0.1)」とします。

# 標準偏差・標準誤差の描き込み

# 省略してもよい命令文

# 以降の命令文を省略するとデフォルトで自動で描きます。

labs(x = "", y = "Body length (mm)") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称をBody length (mm)にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_y_continuous(limits = c(0, 50)) +

# y軸(縦軸)を描く範囲を0から50に指定します。

# x軸・y軸の値の最小値・最大値の指定

theme_classic() +

# 図の背景色を白にします。

# 図のデザインの指定

theme(
axis.text.x = element_text(size = 18),
axis.title.y = element_text(size = 18),
axis.text.y = element_text(size = 9)
)

# x軸(横軸)の目盛り(axis.text.x)には地域名(Tohokuなど)が入っています。地域名とy軸(縦軸)の名称(axis.title.y)の文字の大きさを18に、y軸の目盛り(axis.text.y)の文字の大きさを9に指定します。x軸(横軸)の名称(axis.title.x)は書かないので、その文字の大きさも指定しません。

# x軸・y軸の文字の大きさと書き方の指定

軸の説明を日本語にする場合

 画面7-2のように軸の説明を日本語にする場合は、2つの命令文(下記の1つ目と3つ目)を書き替え、1つの命令文(下記の2つ目)を書き足します。他の命令文はそのままでよいです。

labs(x = "", y = "体長(mm)") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称を体長(mm)にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_x_discrete(labels = c("東北", "関東", "関西", "九州")) +

# 書き足す命令文です。labs(x = "", y = "体長(mm)") +の次に書いて下さい。

# x軸(横軸)の各データ群名として東北, 関東, 関西, 九州を書き込みます。d$Localityでの並び順(あなたが指定した並び順またはアルファベット順)通りに地域名を並べて下さい。並びが異なっていたらデータの対応がおかしくなります。地域名を""で囲みます。

# x軸にデータ群名を書き込む

theme_classic(base_family = "HiraKakuPro-W3") +

# 日本語のフォントとしてHiraKakuPro-W3を指定します。フォントの名称を""で囲みます。

# HiraKakuPro-W3の他にも、HiraKakuPro-W6, Meiryo, MS Gothic, Osakaなど色々なフォントがあります。お好みのフォントを設定して下さい。

# 図のデザインの指定

このページの文頭に戻る

3.3.2. 特定の地域の点グラフを描く

画面12

 特定の地域の点グラフを描く(画面8-1, 8-2)方法を説明します。1地域だけを描くことはあまりないと思うので、2地域を選ぶ例です。まず始めに、データフレームdから作図に用いる値(作図する地域のデータ)を取り出して格納します。

作図に用いる値の格納

d2 <- filter(d, Locality == "Tohoku" | Locality == "Kanto")

# TohokuとKantoのデータを取り出す場合です。

# データフレームdから、データ列Localityに入っている地域名がTohokuまたはKantoのものを取り出しデータフレームd2に格納します。=を2つ繋げ==とすることに注意して下さい。地域名は文字情報なので、地域名を""で囲みます。

# 格納するデータフレームの名称(この例ではd2)はお好みのものでよいです。

# データフレーム中の特定のデータの取り出し

x <- c("Tohoku", "Kanto")

# 地域名を、データフレームxに格納します。d$Localityでの並び順(あなたが指定した並び順またはアルファベット順)通りに地域名を並べて下さい。並びが異なっていたらデータの対応がおかしくなります。地域名を""で囲みます。

# 格納するデータフレームの名称(この例ではx)はお好みのものでよいです。

# データをRの中で書いてデータフレームに格納

y <- tapply(d2$Length.mm, d2$Locality, mean)

# データ列d2$Localityに入っている地域ごとに、データ列d2$Length.mmに入っている体長の平均を計算します。

# meanが、平均を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# データフレームはdではなくd2です。

# 体長の平均をデータフレームyに格納します。格納するデータフレームの名称(この例ではy)はお好みのものでよいです。

# tapplyを用いた一括計算

z <- tapply(d2$Length.mm, d2$Locality, sd)

# データ列d2$Localityに入っている地域ごとに、データ列d2$Length.mmに入っている体長の標準偏差を計算します。

# sdが、標準偏差を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# データフレームはdではなくd2です。

# 体長の標準偏差をデータフレームzに格納します。格納するデータフレームの名称(この例ではz)はお好みのものでよいです。

d3 <- data.frame(x, y, z)

# x, y, zのデータを統合してデータフレームd3に格納します。格納するデータフレームの名称(この例ではd3)はお好みのものでよいです。

# 複数のデータを統合して新しいデータフレームを作成

d3$x <- factor(d3$x, levels =c("Tohoku", "Kanto"))

# 地域の並び順を指定します。データフレームd3中のデータ列xに地域名が入っています。並べたい順番に地域名を書きます。地域名は文字情報なので、地域名を""で囲みます。この命令を実行しないとアルファベット順に地域名が並びます。

# d3$xの中身を上書きするためにd3$xに再格納します。

# csvファイルMedaka.csvを読み込んでデータフレームdに格納したときにデータの並び順を指定したからといって、ここでの並び順の指定を省略してはいけません。

# この命令を実行しないとアルファベット順に地域が並びます。

# データの並び順の指定

# データフレームd3の中身は以下のようになっています。

 作図の仕方は、全地域の点グラフ描く場合と同じです。ただし、冒頭の命令文のデータフレームはd2ではなくd3です。

特定の地域の点グラフを描く

# 命令文が続く場合には+で繋げ、最後の命令文の後には+を付けません。

# 必須命令文

ggplot(d3, aes(x = x, y = y)) +

# データフレームd3を指定します。

# x = xとして、地域名が入っているデータ列xをx軸(横軸)に指定します。「x =」のxは小文字です。

# y = yとして、体長が入っているデータ列yをy軸(縦軸)に指定します。「y =」のyは小文字です。

# 末尾の+を忘れないで下さい。

# 点グラフにおける、作図に用いるデータフレームとデータの指定

geom_point(size = 4) +

# 描く図として点グラフを指定します。

# size = で点の大きさを指定します。4にしています。

# 末尾の+を忘れないで下さい。

# 散布図・点グラフの指定

geom_errorbar(aes(ymin = y - z, ymax = y + z), width = 0.1) +

# 標準偏差を描きます。

# ymin =, ymax =で、標準偏差の縦棒の下端と上端の値を指定します。平均 – 標準偏差(y - z)から平均+標準偏差(y + z)まで縦棒を描きます。

# width =で上下の横棒の幅を指定します。0.1にしています。

# 末尾の+を忘れないで下さい。ただし、以降の命令文を省略する場合は+を付けず、「geom_errorbar(aes(ymin = y - z, ymax = y + z), width = 0.1)」とします。

# 標準偏差・標準誤差の描き込み

# 省略してもよい命令文

# 以降の命令文を省略するとデフォルトで自動で描きます。

labs(x = "", y = "Body length (mm)") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称をBody length (mm)にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_y_continuous(limits = c(0, 50)) +

# y軸(縦軸)を描く範囲を0から50に指定します。

# x軸・y軸の値の最小値・最大値の指定

theme_classic() +

# 図の背景色を白にします。

# 図のデザインの指定

theme(
axis.text.x = element_text(size = 18),
axis.title.y = element_text(size = 18),
axis.text.y = element_text(size = 9)
)

# x軸(横軸)の目盛り(axis.text.x)には地域名(Tohokuなど)が入っています。地域名とy軸(縦軸)の名称(axis.title.y)の文字の大きさを18に、y軸の目盛り(axis.text.y)の文字の大きさを9に指定します。x軸(横軸)の名称(axis.title.x)は書かないので、その文字の大きさも指定しません。

# x軸・y軸の文字の大きさと書き方の指定

軸の説明を日本語にする場合

 画面8-2のように軸の説明を日本語にする場合は、2つの命令文(下記の1つ目と3つ目)を書き替え、1つの命令文(下記の2つ目)を書き足します。他の命令文はそのままでよいです。

labs(x = "", y = "体長(mm)") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称を体長(mm)にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_x_discrete(labels = c("東北", "関東")) +

# 書き足す命令文です。labs(x = "", y = "体長(mm)") +の次に書いて下さい。

# x軸(横軸)の各データ群名として東北, 関東を書き込みます。データの並び順(あなたが指定した並び順またはアルファベット順)通りに地域名を並べて下さい。並びが異なっていたらデータの対応がおかしくなります。地域名を""で囲みます。

# x軸にデータ群名を書き込む

theme_classic(base_family = "HiraKakuPro-W3") +

# 日本語のフォントとしてHiraKakuPro-W3を指定します。フォントの名称を""で囲みます。

# HiraKakuPro-W3の他にも、HiraKakuPro-W6, Meiryo, MS Gothic, Osakaなど色々なフォントがあります。お好みのフォントを設定して下さい。

# 図のデザインの指定

このページの文頭に戻る

3.4 メダカの産卵数の棒グラフ
(「これ研」本文の図3.10; p. 91)

 メダカの産卵数の棒グラフ(画面9-1, 9-2, 10-1, 10-2)を作図しましょう。csvファイル「Medaka.csv」をデータフレームdに格納済みであるとします。格納していない場合は、解析に用いるcsvファイルのRヘの読み込みの説明に従って格納して下さい。地域の並び順を指定したい場合はその指定も行って下さい。ご自身のデータを用いる場合は、そのファイルをデータフレームdに格納して下さい。

全地域の棒グラフを並べて描く(描き方)
画面9-1
画面9-2

特定の地域の棒グラフを描く(描き方)
画面10-1
画面10-2

3.4.1. 全地域の棒グラフを並べて描く

 全地域の棒グラフを描く(画面9-1, 9-2)方法を説明します。まず始めに、作図に用いる値(各地域における産卵数の平均と標準偏差)を計算してデータフレームに格納します。

作図に用いる値の格納

x <- c("Tohoku", "Kanto", "Kansai", "Kyushu")

# 地域名を、データフレームxに格納します。d$Localityでの並び順(あなたが指定した並び順またはアルファベット順)通りに地域名を並べて下さい。並びが異なっていたらデータの対応がおかしくなります。地域名を""で囲みます。

# 格納するデータフレームの名称(この例ではx)はお好みのものでよいです。

# データをRの中で書いてデータフレームに格納

y <- tapply(d$Egg.number, d$Locality, mean)

# データ列d$Localityに入っている地域ごとに、データ列d$Egg.numberに入っている産卵数の平均を計算します。

# meanが、平均を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# 産卵数の平均をデータフレームyに格納します。格納するデータフレームの名称(この例ではy)はお好みのものでよいです。

# tapplyを用いた一括計算

z <- tapply(d$Egg.number, d$Locality, sd)

# データ列d$Localityに入っている地域ごとに、データ列d$Egg.numberに入っている産卵数の標準偏差を計算します。

# sdが、標準偏差を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# 産卵数の標準偏差をデータフレームzに格納します。格納するデータフレームの名称(この例ではz)はお好みのものでよいです。

d2 <- data.frame(x, y, z)

# x, y, zのデータを統合してデータフレームd2に格納します。格納するデータフレームの名称(この例ではd2)はお好みのものでよいです。

# 複数のデータを統合して新しいデータフレームを作成

d2$x <- factor(d2$x, levels =c("Tohoku", "Kanto", "Kansai", "Kyushu"))

# 地域の並び順を指定します。データフレームd2中のデータ列xに地域名が入っています。並べたい順番に地域名を書きます。地域名は文字情報なので、地域名を""で囲みます。この命令を実行しないとアルファベット順に地域名が並びます。

# d2$xの中身を上書きするためにd2$xに再格納します。

# csvファイルMedaka.csvを読み込んでデータフレームdに格納したときにデータの並び順を指定したからといって、ここでの並び順の指定を省略してはいけません。

# この命令を実行しないとアルファベット順に地域が並びます。

# データの並び順の指定

# データフレームd2の中身は以下のようになっています。

 格納したデータを用いて棒グラフを作図します。

全地域の棒グラフを並べて描く

# 命令文が続く場合には+で繋げ、最後の命令文の後には+を付けません。

# 必須命令文

ggplot(d2, aes(x = x, y = y)) +

# データフレームd2を指定します。

# x = xとして、地域名が入っているデータ列xをx軸(横軸)に指定します。「x =」のxは小文字です。

# y = yとして、産卵数が入っているデータ列yをy軸(縦軸)に指定します。「y =」のyは小文字です。

# 末尾の+を忘れないで下さい。

# 棒グラフにおける、作図に用いるデータフレームとデータの指定

geom_bar(stat = "identity", color = "black", fill = "white") +

# 描く図として棒グラフを指定します。

# color = で、棒の枠線の色を指定します。黒に指定しています。

# fill =で、棒の内部の色を指定します。白に指定しています。

# stat = "identity"を忘れずに書いて下さい。

# 末尾の+を忘れないで下さい。

# 棒グラフの指定

geom_errorbar(aes(ymin = y - z, ymax = y + z), width = 0.1) +

# 標準偏差を描きます。

# ymin =, ymax =で、標準偏差の縦棒の下端と上端の値を指定します。平均 – 標準偏差(y - z)から平均+標準偏差(y + z)まで縦棒を描きます。

# width =で上下の横棒の幅を指定します。0.1にしています。

# 末尾の+を忘れないで下さい。ただし、以降の命令文を省略する場合は+を付けず、「geom_errorbar(aes(ymin = y - z, ymax = y + z), width = 0.1)」とします。

# 標準偏差・標準誤差の描き込み

# 省略してもよい命令文

# 以降の命令文を省略するとデフォルトで自動で描きます。

labs(x = "", y = "Egg number") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称をEgg numberにします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_y_continuous(limits = c(0, 30)) +

# y軸(縦軸)を描く範囲を0から30に指定します。棒グラフの場合は、y軸の最小値を必ず0にします。

# x軸・y軸の値の最小値・最大値の指定

theme_classic() +

# 図の背景色を白にします。

# 図のデザインの指定

theme(
axis.text.x = element_text(size = 18),
axis.title.y = element_text(size = 18),
axis.text.y = element_text(size = 9)
)

# x軸(横軸)の目盛り(axis.text.x)には地域名(Tohokuなど)が入っています。地域名とy軸(縦軸)の名称(axis.title.y)の文字の大きさを18に、y軸の目盛り(axis.text.y)の文字の大きさを9に指定します。x軸(横軸)の名称(axis.title.x)は書かないので、その文字の大きさも指定しません。

# x軸・y軸の文字の大きさと書き方の指定

軸の説明を日本語にする場合

 画面9-2のように軸の説明を日本語にする場合は、2つの命令文(下記の1つ目と3つ目)を書き替え、1つの命令文(下記の2つ目)を書き足します。他の命令文はそのままでよいです。

labs(x = "", y = "産卵数") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称を産卵数にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_x_discrete(labels = c("東北", "関東", "関西", "九州")) +

# 書き足す命令文です。labs(x = "", y = "産卵数") +の次に書いて下さい。

# x軸(横軸)の各データ群名として東北, 関東, 関西, 九州を書き込みます。d$Localityでの並び順(あなたが指定した並び順またはアルファベット順)通りに地域名を並べて下さい。並びが異なっていたらデータの対応がおかしくなります。地域名を""で囲みます。

# x軸にデータ群名を書き込む

theme_classic(base_family = "HiraKakuPro-W3") +

# 日本語のフォントとしてHiraKakuPro-W3を指定します。フォントの名称を""で囲みます。

# HiraKakuPro-W3の他にも、HiraKakuPro-W6, Meiryo, MS Gothic, Osakaなど色々なフォントがあります。お好みのフォントを設定して下さい。

# 図のデザインの指定

このページの文頭に戻る

3.4.2. 特定の地域の棒グラフを描く

 特定の地域の棒グラフを描く(画面10-1, 10-2)方法を説明します。1地域だけを描くことはあまりないと思うので、2地域を選ぶ例です。まず始めに、データフレームdから作図に用いる値(作図する地域のデータ)を取り出して格納します。

作図に用いる値の格納

d2 <- filter(d, Locality == "Tohoku" | Locality == "Kanto")

# TohokuとKantoのデータを取り出す場合です。

# データフレームdから、データ列Localityに入っている地域名がTohokuまたはKantoのものを取り出しデータフレームd2に格納します。=を2つ繋げ==とすることに注意して下さい。地域名は文字情報なので、地域名を""で囲みます。

# 格納するデータフレームの名称(この例ではd2)はお好みのものでよいです。

# データフレーム中の特定のデータの取り出し

x <- c("Tohoku", "Kanto")

# 地域名を、データフレームxに格納します。d$Localityでの並び順(あなたが指定した並び順またはアルファベット順)通りに地域名を並べて下さい。並びが異なっていたらデータの対応がおかしくなります。地域名を""で囲みます。

# 格納するデータフレームの名称(この例ではx)はお好みのものでよいです。

# データをRの中で書いてデータフレームに格納

y <- tapply(d2$Egg.number, d2$Locality, mean)

# データ列d2$Localityに入っている地域ごとに、データ列d2$Egg.numberに入っている産卵数の平均を計算します。

# meanが、平均を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# データフレームはdではなくd2です。

# 計算結果をデータフレームyに格納します。格納するデータフレームの名称(この例ではy)はお好みのものでよいです。

# tapplyを用いた一括計算

z <- tapply(d2$Egg.number, d2$Locality, sd)

# データ列d2$Localityに入っている地域ごとに、データ列d2$Egg.numberに入っている産卵数の標準偏差を計算します。

# sdが、標準偏差を計算する関数です。tapplyの中で用いる場合は、関数名の後に()を付けません。

# データフレームはdではなくd2です。

# 産卵数の標準偏差をデータフレームzに格納します。格納するデータフレームの名称(この例ではz)はお好みのものでよいです。

d3 <- data.frame(x, y, z)

# x, y, zのデータを統合してデータフレームd3に格納します。格納するデータフレームの名称(この例ではd3)はお好みのものでよいです。

# 複数のデータを統合して新しいデータフレームを作成

d3$x <- factor(d3$x, levels =c("Tohoku", "Kanto"))

# 地域の並び順を指定します。データフレームd3中のデータ列xに地域名が入っています。並べたい順番に地域名を書きます。地域名は文字情報なので、地域名を""で囲みます。この命令を実行しないとアルファベット順に地域名が並びます。

# d3$xの中身を上書きするためにd3$xに再格納します。

# csvファイルMedaka.csvを読み込んでデータフレームdに格納したときにデータの並び順を指定したからといって、ここでの並び順の指定を省略してはいけません。

# この命令を実行しないとアルファベット順に地域が並びます。

# データの並び順の指定

# データフレームd3の中身は以下のようになっています。

 作図の仕方は、全地域の棒グラフ描く場合と同じです。ただし、冒頭の命令文のデータフレームはd2ではなくd3です。

特定の地域の棒グラフを描く

# 命令文が続く場合には+で繋げ、最後の命令文の後には+を付けません。

# 必須命令文

ggplot(d3, aes(x = x, y = y)) +

# データフレームd3を指定します。

# x = xとして、地域名が入っているデータ列xをx軸(横軸)に指定します。「x =」のxは小文字です。

# y = yとして、産卵数が入っているデータ列yをy軸(縦軸)に指定します。「y =」のyは小文字です。

# 末尾の+を忘れないで下さい。

# 棒グラフにおける、作図に用いるデータフレームとデータの指定

geom_bar(stat = "identity", color = "black", fill = "white") +

# 描く図として棒グラフを指定します。

# color = で、棒の枠線の色を指定します。黒に指定しています。

# fill =で、棒の内部の色を指定します。白に指定しています。

# stat = "identity"を忘れずに書いて下さい。

# 末尾の+を忘れないで下さい。

# 棒グラフの指定

geom_errorbar(aes(ymin = y - z, ymax = y + z), width = 0.1) +

# 標準偏差を描きます。

# ymin =, ymax =で、標準偏差の縦棒の下端と上端の値を指定します。平均 – 標準偏差(y - z)から平均+標準偏差(y + z)まで縦棒を描きます。

# width =で上下の横棒の幅を指定します。0.1にしています。

# 末尾の+を忘れないで下さい。ただし、以降の命令文を省略する場合は+を付けず、「geom_errorbar(aes(ymin = y - z, ymax = y + z), width = 0.1)」とします。

# 標準偏差・標準誤差の描き込み

# 省略してもよい命令文

# 以降の命令文を省略するとデフォルトで自動で描きます。

labs(x = "", y = "Egg number") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称をEgg numberにします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_y_continuous(limits = c(0, 30)) +

# y軸(縦軸)を描く範囲を0から30に指定します。棒グラフの場合は、y軸の最小値を必ず0にします。

# x軸・y軸の値の最小値・最大値の指定

theme_classic() +

# 図の背景色を白にします。

# 図のデザインの指定

theme(
axis.text.x = element_text(size = 18),
axis.title.y = element_text(size = 18),
axis.text.y = element_text(size = 9)
)

# x軸(横軸)の目盛り(axis.text.x)には地域名(Tohokuなど)が入っています。地域名とy軸(縦軸)の名称(axis.title.y)の文字の大きさを18に、y軸の目盛り(axis.text.y)の文字の大きさを9に指定します。x軸(横軸)の名称(axis.title.x)は書かないので、その文字の大きさも指定しません。

# x軸・y軸の文字の大きさと書き方の指定

軸の説明を日本語にする場合

 画面10-2のように軸の説明を日本語にする場合は、2つの命令文(下記の1つ目と3つ目)を書き替え、1つの命令文(下記の2つ目)を書き足します。他の命令文はそのままでよいです。

labs(x = "", y = "産卵数") +

# x軸(横軸)の名称は書かず、y軸(縦軸)の名称を産卵数にします。名称を""で囲みます。x, yは小文字です。

# x軸・y軸の名称の指定

scale_x_discrete(labels = c("東北", "関東")) +

# 書き足す命令文です。labs(x = "", y = "産卵数") +の次に書いて下さい。

# x軸(横軸)の各データ群名として東北, 関東を書き込みます。データの並び順(あなたが指定した並び順またはアルファベット順)通りに地域名を並べて下さい。並びが異なっていたらデータの対応がおかしくなります。地域名を""で囲みます。

# x軸にデータ群名を書き込む

theme_classic(base_family = "HiraKakuPro-W3") +

# 日本語のフォントとしてHiraKakuPro-W3を指定します。フォントの名称を""で囲みます。

# HiraKakuPro-W3の他にも、HiraKakuPro-W6, Meiryo, MS Gothic, Osakaなど色々なフォントがあります。お好みのフォントを設定して下さい。

# 図のデザインの指定

このページの文頭に戻る