「Rによる統計解析」を写経してみる(2)

衝動買いしてしまった以下の本。結構分かりやすくて面白い。

これ、Rの名著だと思います。EZRが扱えるようになって、自分でRを使ってグラフを描いたり、いろいろやってみたい方に、一番お勧めの本です。

前回は、第2章の一部を写経してみた。

「Rによる統計解析」を写経してみる(1)
統計解析をしていて、「この1個のデータが間違っていたので、平均とか有意差とかの計算、最初から全部やり直し!」みたいなことは多々ある。 その都...

今回は、第3章を、写経してみたい。

(環境)
Windows 8.1 Pro
Anaconda 4.4.0 (64-bit)

(1)データの作成

このサイトが超便利!

https://hogehoge.tk/personal/
image

「生成を開始する」をクリックして、適当に条件を決めて、生成開始 をクリック

image

以下のように出てくるので、下の方へ行って、エクセル形式でダウンロード

image

image

image

新しいエクセルファイルを作成してコピペして、WeightとHeightを適当に生成。

=RANDBETWEEN(“最小値”, “最大値”) というエクセル関数を使用した。

ABO型もこれと似たようなエクセル関数で最初から作成できたような、、、(爆)

でも、上記サイトは非常にありがたいサイトです。

参考:https://dekiru.net/article/4390/

image

image

idol.csvという名前で保存。

image

(2)(1)で作成したidol.csvと同じフォルダに、新しいipynbファイルを作成し、chapter02 という名前をつけた。

df <- read.csv(“idol.csv”)
df

image

image

summary()関数は、平均値、最大値、最小値をさくっと出してくれるので便利である。

(3)グループ別にデータを要約

tapply(“対象変数”, “グループ変数”)

by(“対象変数”, “グループ変数”)

のように用いるらしい。これも、男性と女性それぞれの年齢の平均など求めるときに便利そう!

image

image

(4)基本統計量を求める

NAを持つデータを除いて集計するためには、引数に

を指定しなければならない。

image

image

df <- read.csv(“idol2.csv”)

df$Weight

mean(df$Weight)

mean(df$Weight, na.rm=TRUE) # na.rm=TRUEを指定しなければならない

image

有効データ数

count <- function(x) sum(!is.na(x))

新しい関数の定義と利用

# 関数を定義
mean2 <- function(x)
{
mean(x, na.rm=TRUE)
}

# mean2関数を使って平均を計算

df <- read.csv(“idol2.csv”)
mean2(df$Weight)

image

また、必要に応じて、グラフはかけるようになっていきたい。

なお、散布図についてのリンク

http://aoki2.si.gunma-u.ac.jp/R/dot_plot.html
image

image

dot.plot関数というものを用意してくださっており、それをjupyter notebookで利用すると、以下のようになる。

image

これは便利!このような素晴らしいサイトが、EZR誕生の流れになったのだなあと勝手に感動してしまいました。

関連記事
Count per Day
    Popular Posts
    スポンサーリンク

    シェアする

    • このエントリーをはてなブックマークに追加

    フォローする