2017年12月13日水曜日

「R によるやさしい統計学」を Python で実習する 第 2 章

統計学の勉強の続き。

良書と評判の「R によるやさしい統計学」を写経しながら進めていくのだけれど、R という言語自体に僕は然程興味が無い。この本の中で出てくる R のコードを Python に換えて実習していく。

第 1 章は R の環境設定の話なので飛ばす。

第 2 章は「1 つの変数の記述統計」という章題。要するに平均値とか中央値の話。

最初に A,B,C,D の要素を持つリストがあって、そのリスト内のそれぞれの要素の出現頻度 (度数分布) を求めている。R では table () という関数で簡単に出来るらしい。Python にはこれがないので、collections モジュールを使う。

instruction = ["C", "B", "B", "A", "B", "C", "A", "D", "D", "D", "A", "A", \
"A", "C", "B", "D", "C", "C", "B", "D"]

from collections import Counter

counter = Counter(instruction)
for word, cnt in counter.most_common ():
 print(word, cnt)

出力はこんな感じ。

 C 5
 B 5
 A 5
 D 5

ヒストグラムを描く。

psych_test = [13, 14, 7, 12, 10, 6, 8, 15, 4, 14, 9, 6, 10, 12, 5, 12, 8, \
8, 12, 15]

import matplotlib.pyplt as plt

plt.hist(psych_test,bins=6)

平均、中央値、最頻値を求める。数理統計関数モジュール statistics を使う。

import statistics as stat
stat.mean(psych_test)   # 平均
stat.median(psych_test) # 中央値
stat.mode(psych_test)   # 最頻値

母分散、母標準偏差、標本分散、標本標準偏差。同じく statistics モジュール。

stat.pvariance(psych_test) # 母分散
stat.pstdev(psych_test)    # 母標準偏差
stat.variance(psych_test)  # 標本分散
stat.stdev(psych_test)     # 標本標準偏差

参考

0 件のコメント:

コメントを投稿