統計学の勉強の続き。
良書と評判の「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 件のコメント:
コメントを投稿