- Step3. 実践編
- 1. データの整理と可視化
1-3. 基本統計量とヒストグラム
次のデータは、「Step0. 初級編 1-1. データをとってみよう」で用いたデータです。このデータを使って、基本統計量の計算とヒストグラムの作成を行ってみましょう。
ファイルのダウンロードはこちらから
- (日本語)neko_1nensei.csv
- (英語)neko_1nensei_eng.csv
■Excelによる解析例
- データ > データ分析 > 基本統計量を選択
- 「入力元」と「出力オプション」を図のように設定 > [OK]をクリック
- 基本統計量が出力される
- 「体長」のヒストグラムを作成するためのデータ区間を作成
- データ > データ分析 > ヒストグラムを選択
- 「入力元」と「出力オプション」を図のように設定 > [OK]をクリック
- デフォルトのヒストグラムが出力される
- デフォルトのグラフを加工
※「データ分析」が見当たらない方はこちらを参考に設定を行ってください。
※ここでは2cm刻みのデータ区間を作成しています。
※このデータ区間は次のような範囲を意味します。
データ区間 | 範囲 |
---|---|
26 | 26cm以下 |
28 | 26cmより大きく28cm以下 |
30 | 28cmより大きく30cm以下 |
32 | 30cmより大きく32cm以下 |
34 | 32cmより大きく34cm以下 |
36 | 34cmより大きく36cm以下 |
※「次の級」はデータ区間が36よりも大きいもの、すなわち36cmより大きいサンプルの度数を表します。
※棒グラフの隙間を埋めるために次の処理を行います:棒グラフの棒部分を選択 > 左クリック > データ系列の書式設定 > 要素の間隔を0%にする
■Rによる解析例(基本統計量の算出)
library(psych) dat <- read.csv("neko_1nensei_eng.csv", header=T) #データの読み込み #データの分布を算出 summary(dat[,2:3]) #基本統計量の算出 describe(dat[,2:3])
summary関数の出力結果
- min:最小値
- 1st Qu.:第1四分位数
- Median:中央値
- Mean:平均値
- 3st Qu.:第3四分位数
- max:最大値
describe関数の出力結果
- vars:何番目のデータか
- n:データ内のサンプル数
- Mean:平均値
- sd:標準偏差
- Median:中央値
- trimmed:データを小さい順に並べ、小さい側(下位)と大きい側(上位)から指定した個数の値を除き、残ったデータから求める平均値(デフォルトでは上位10%、下位10%のデータが除かれます)
- mad:[中央値からデータの各値を引いた値]の絶対値の中央値(中央絶対偏差)
- min:最小値
- max:最大値
- range:最大値から最小値を引いた値
- skew:歪度
- kurtosis:尖度
- se:標準誤差
■Rによる解析例(ヒストグラムの作成)
#パッケージを使わない場合 hist(dat[,2], #データを設定 main="", #グラフタイトルの削除 xlab="length", #x軸ラベルの設定 col="skyblue", #ヒストグラムの色を指定 breaks = seq(24, 36, by=2)) #データ区間の指定(24から36まで2刻み) #ggplot2を使う場合 G <-ggplot(dat, aes(x = length)) + #x軸のデータを設定 geom_histogram(closed = "right", breaks=seq(24, 36, by=2), #ヒストグラムを指定、区間境界の指定(right:~より大きく、~以下)、データ区間の指定(24から36まで2刻み) fill="skyblue", colour="black") + #ヒストグラムの色を指定、ヒストグラムの輪郭の色を指定 scale_x_continuous(breaks = seq(24, 36, by=2)) + #x軸の目盛を指定(24から36まで2刻み) theme(panel.grid.major = element_blank(), #背景のgridの削除 panel.grid.minor = element_blank(), #背景のgridの削除 panel.background = element_blank(), #背景色の削除 axis.line=element_line(colour = "black"), #グラフの線の色を指定 axis.ticks=element_line(colour = "black"), #グラフの目盛(ticks)の色を指定 axis.text=element_text(size=14), #グラフの目盛のフォントサイズを指定 axis.title=element_text(size=16)) #グラフのラベルのフォントサイズを指定 plot(G)
■Pythonによる解析例(基本統計量の算出)
import pandas as pd dat = pd.read_csv("neko_1nensei_eng.csv") #基本統計量の算出 print(dat[["length","weight"]].describe())
■Pythonによる解析例(ヒストグラムの作成)
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns dat = pd.read_csv("neko_1nensei_eng.csv") #matplotlibを使う場合 fig, ax = plt.subplots() #グラフの大枠の作成 ax.hist(dat["length"], #ヒストグラムを指定、データを指定 color="skyblue", #ヒストグラムの色を指定 ec="black", #ヒストグラムの輪郭の色を指定(ec:edge colorを意味します) bins = np.linspace(26, 36, 6)) #データ区間の指定(26から36までを6分割) ax.set_xlabel("length") #x軸のラベルの設定 ax.set_ylabel("count") #x軸のラベルの設定 plt.show() #matplotlib + seabornを使う場合 sns.histplot(x="length", #ヒストグラムを指定、列名を指定 data=dat, #データを指定 color='skyblue', #ヒストグラムの色を指定 bins = np.linspace(26, 36, 6)) #データ区間の指定(26から36までを6分割) plt.show()