「Rによるやさしい統計学」のRの演習

Rの実行環境

目標

R で書かれたコードを読めるようになりましょう。

  • R の実行環境について理解しましょう。

0章

作業環境の設定

Rの作業・実行環境を設定する

ホーム/ の下の COMM/ の下の Lects/ の下の R ディレクトリ
setwd("~/COMM/Lects/R/")
(getwd())

[1] "/nas/home/masayuki/COMM/Lects/R"

プログラムの読み込み

source("Libs/varp.r")  # ~/COMM/Lects/R/Libs ディレクトリにある varp.r 

file(filename, "r", encoding = encoding) でエラー: 
  コネクションを開くことができません 
追加情報:  警告メッセージ: 
file(filename, "r", encoding = encoding) で: 
  ファイル 'Libs/varp.r' を開くことができません: そのようなファイルやディレクトリはありません

基本的な操作

目標

R で書かれたコードを読めるようになりましょう。

  • 式を理解しましょう
  • 関数を理解しましょう
  • ベクトルを知りましょう

1章

基本的な操作の概要 1.4.2

R または RStudio の起動と終了 R-Source
開始
R --save
R はインタープリタ
  • ユーザがプログラムを入力し,
  • R システムが入力プログラムを実行し,結果を表示する
  • 上矢印,下矢印で前の式を呼び出し,エンターで実行
  • history() で入力式一覧
終了
# quit()
簡単な計算 R-Source::簡単な計算 R解説(1)
四則演算 R-Source::簡単な計算
3+5
10-3
2*3
20/4 # 割り算をするときは/ (スラッシュ)
21 %/% 5
21 %% 5

[1] 8
[1] 7
[1] 6
[1] 5
[1] 4
[1] 1
R解説(1) の課題をやってみましょう
関数 R-Source::関数事始
平方根を求める
sqrt(16) * sqrt(99) + sqrt(1)

[1] 40.7995
  • sqrt が関数の名前,(16) が関数に渡す *引数*。
底が10の対数
log(10, base=10)

[1] 1
# help(log)

Rをもっとさわってみよう 1.5 R-Source::ベクトルの作成 - R解説(2)

(height <- c(173,178,180,183,182,174,179,179,174,192)) # ベクトル化

summary(height)

[1] 173 178 180 183 182 174 179 179 174 192
  Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 173.0   175.0   179.0   179.4   181.5   192.0
c(173,178,180,183,182,174,179,179,174,192)
10個の要素を持つベ クトルを作る (関数のよびだし)
与えられたデータの統計代表値
Min.
最小値
1st Qu.
第一四分位数 (下から1/4点)
Median
中央値
Mean
平均値
3rd Qu.
第三四分位数 (下から3/4点)
Max.
最大値

複数の値をまとめて使う R-Source

10人分のデータにまとめて名前をつける R-Source::ベクトルの作成 R-Source::オブジェクトと代入
(身長 <- c(173,178,180,183,182,174,179,179,174,192))

[1] 173 178 180 183 182 174 179 179 174 192
  • 「身長」という名前の変数に10人分のデータを格納している
    • 変数は,名前と値を持つ
    • 名前で,参照し,
    • 参照すると値がでてくる
  • 「変数 <- 式」という構文を代入という
変数を使う R-Source::オブジェクトと代入
身長

[1] 173 178 180 183 182 174 179 179 174 192
行列を使う R-Source::行列の生成
(ホークス <- matrix(
  c(173,178,180,183,182,174,179,179,174,192,
    17000,14000,9000,50000,30000,12000,900,2100,1000,2500),
  10, 2))

      [,1]  [,2]
 [1,]  173 17000
 [2,]  178 14000
 [3,]  180  9000
 [4,]  183 50000
 [5,]  182 30000
 [6,]  174 12000
 [7,]  179   900
 [8,]  179  2100
 [9,]  174  1000
[10,]  192  2500
matrix(ベクトル,行数,列数)
ベクトルを 行数×列数 の行列に する
外部データファイルを読み込む

R-Source::ファイルからデータを読み込む

  • 作業ディレクトリ R-Source::作業ディレクトリの変更

    ファイルからデータやプログラムを読み込んだり,ファイルにデータ を書き出したりする場所を作業ディレクトリという

setwd("~/Lects/R")
getwd()
system("ls")
 setwd("~/Lects/R") でエラー:  作業ディレクトリを変更できません
[1] "/nas/home/masayuki/COMM/Lects/R"
2020-repo-01.org  R-learning.org~   binom.r		      r-plot.png
2020-repo-02.org  RforStatistcs     dist-uniform.r	      stat-12.org
2020-repo-03.org  Rintro	    gauss3d-rot.r	      stat-12.org~
3.log		  Rplots.pdf	    gauss3d.R		      stat-lse.org
3.ps		  Rprobability.org  gauss3d.org		      www.medi-08-data-06.work
3.tex		  ai-trend	    graphs
R-learning.org	  babel		    low_of_large_numbers.org
(ホークス.2 <- read.csv("Data/hawks.csv"))

file(file, "rt") でエラー:  コネクションを開くことができません 
追加情報:  警告メッセージ: 
file(file, "rt") で: 
  ファイル 'Data/hawks.csv' を開くことができません: そのようなファイルやディレクトリはありません

関数を作ってみよう R-Source::関数事始

標本分散を計算する関数を作る

Rの var() 関数は,不偏分散を計算する関数なので, 標本分散を計算する関数を定義してみる:

(varp <- function (x) {
  var(x)*(length(x)-1)/length(x)
})

function (x) {
  var(x)*(length(x)-1)/length(x)
}
(x <- c(10, 13, 8, 15, 8))
var(x)
varp(x)

[1] 10 13  8 15  8
[1] 9.7
[1] 7.76
プログラムを読み込む
setwd("~/COMM/Lects/R/mylib/")
getwd()
system("ls")
(source("varp.r"))

[1] "/nas/home/masayuki/COMM/Lects/R/mylib"
varp.r
$value
function (x) {
  var(x)*(length(x)-1)/length(x)
}

$visible
[1] TRUE

Rで一変数の記述統計

目標

R で書かれたコードを読めるようになりましょう。

  • データフレーム,ベクトル,リストを知りましょう
  • 記述統計の計算をしてみましょう

1つの変数の記述統計 ーー 教科書2章

Rに組込まれたデータセット iris

教科書の代りに,R 使い方 組込みデータセット iris データフレーム を 参考にします。

目的は,データセット,ベクトルを使った計算を理解することです。

iris データセット

150個の菖蒲のデータ:

  • petal: はなびら
    • .length
    • .width
  • sepal: がく
    • .length
    • .width

ヘルプで調べます:

help(iris)

irisデータセットのなかみ

中身のデータを見てみましょう:

iris

    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
1            5.1         3.5          1.4         0.2     setosa
2            4.9         3.0          1.4         0.2     setosa
3            4.7         3.2          1.3         0.2     setosa
4            4.6         3.1          1.5         0.2     setosa
5            5.0         3.6          1.4         0.2     setosa
6            5.4         3.9          1.7         0.4     setosa
7            4.6         3.4          1.4         0.3     setosa
8            5.0         3.4          1.5         0.2     setosa
9            4.4         2.9          1.4         0.2     setosa
10           4.9         3.1          1.5         0.1     setosa
11           5.4         3.7          1.5         0.2     setosa
12           4.8         3.4          1.6         0.2     setosa
13           4.8         3.0          1.4         0.1     setosa
14           4.3         3.0          1.1         0.1     setosa
15           5.8         4.0          1.2         0.2     setosa
16           5.7         4.4          1.5         0.4     setosa
17           5.4         3.9          1.3         0.4     setosa
18           5.1         3.5          1.4         0.3     setosa
19           5.7         3.8          1.7         0.3     setosa
20           5.1         3.8          1.5         0.3     setosa
21           5.4         3.4          1.7         0.2     setosa
22           5.1         3.7          1.5         0.4     setosa
23           4.6         3.6          1.0         0.2     setosa
24           5.1         3.3          1.7         0.5     setosa
25           4.8         3.4          1.9         0.2     setosa
26           5.0         3.0          1.6         0.2     setosa
27           5.0         3.4          1.6         0.4     setosa
28           5.2         3.5          1.5         0.2     setosa
29           5.2         3.4          1.4         0.2     setosa
30           4.7         3.2          1.6         0.2     setosa
31           4.8         3.1          1.6         0.2     setosa
32           5.4         3.4          1.5         0.4     setosa
33           5.2         4.1          1.5         0.1     setosa
34           5.5         4.2          1.4         0.2     setosa
35           4.9         3.1          1.5         0.2     setosa
36           5.0         3.2          1.2         0.2     setosa
37           5.5         3.5          1.3         0.2     setosa
38           4.9         3.6          1.4         0.1     setosa
39           4.4         3.0          1.3         0.2     setosa
40           5.1         3.4          1.5         0.2     setosa
41           5.0         3.5          1.3         0.3     setosa
42           4.5         2.3          1.3         0.3     setosa
43           4.4         3.2          1.3         0.2     setosa
44           5.0         3.5          1.6         0.6     setosa
45           5.1         3.8          1.9         0.4     setosa
46           4.8         3.0          1.4         0.3     setosa
47           5.1         3.8          1.6         0.2     setosa
48           4.6         3.2          1.4         0.2     setosa
49           5.3         3.7          1.5         0.2     setosa
50           5.0         3.3          1.4         0.2     setosa
51           7.0         3.2          4.7         1.4 versicolor
52           6.4         3.2          4.5         1.5 versicolor
53           6.9         3.1          4.9         1.5 versicolor
54           5.5         2.3          4.0         1.3 versicolor
55           6.5         2.8          4.6         1.5 versicolor
56           5.7         2.8          4.5         1.3 versicolor
57           6.3         3.3          4.7         1.6 versicolor
58           4.9         2.4          3.3         1.0 versicolor
59           6.6         2.9          4.6         1.3 versicolor
60           5.2         2.7          3.9         1.4 versicolor
61           5.0         2.0          3.5         1.0 versicolor
62           5.9         3.0          4.2         1.5 versicolor
63           6.0         2.2          4.0         1.0 versicolor
64           6.1         2.9          4.7         1.4 versicolor
65           5.6         2.9          3.6         1.3 versicolor
66           6.7         3.1          4.4         1.4 versicolor
67           5.6         3.0          4.5         1.5 versicolor
68           5.8         2.7          4.1         1.0 versicolor
69           6.2         2.2          4.5         1.5 versicolor
70           5.6         2.5          3.9         1.1 versicolor
71           5.9         3.2          4.8         1.8 versicolor
72           6.1         2.8          4.0         1.3 versicolor
73           6.3         2.5          4.9         1.5 versicolor
74           6.1         2.8          4.7         1.2 versicolor
75           6.4         2.9          4.3         1.3 versicolor
76           6.6         3.0          4.4         1.4 versicolor
77           6.8         2.8          4.8         1.4 versicolor
78           6.7         3.0          5.0         1.7 versicolor
79           6.0         2.9          4.5         1.5 versicolor
80           5.7         2.6          3.5         1.0 versicolor
81           5.5         2.4          3.8         1.1 versicolor
82           5.5         2.4          3.7         1.0 versicolor
83           5.8         2.7          3.9         1.2 versicolor
84           6.0         2.7          5.1         1.6 versicolor
85           5.4         3.0          4.5         1.5 versicolor
86           6.0         3.4          4.5         1.6 versicolor
87           6.7         3.1          4.7         1.5 versicolor
88           6.3         2.3          4.4         1.3 versicolor
89           5.6         3.0          4.1         1.3 versicolor
90           5.5         2.5          4.0         1.3 versicolor
91           5.5         2.6          4.4         1.2 versicolor
92           6.1         3.0          4.6         1.4 versicolor
93           5.8         2.6          4.0         1.2 versicolor
94           5.0         2.3          3.3         1.0 versicolor
95           5.6         2.7          4.2         1.3 versicolor
96           5.7         3.0          4.2         1.2 versicolor
97           5.7         2.9          4.2         1.3 versicolor
98           6.2         2.9          4.3         1.3 versicolor
99           5.1         2.5          3.0         1.1 versicolor
100          5.7         2.8          4.1         1.3 versicolor
101          6.3         3.3          6.0         2.5  virginica
102          5.8         2.7          5.1         1.9  virginica
103          7.1         3.0          5.9         2.1  virginica
104          6.3         2.9          5.6         1.8  virginica
105          6.5         3.0          5.8         2.2  virginica
106          7.6         3.0          6.6         2.1  virginica
107          4.9         2.5          4.5         1.7  virginica
108          7.3         2.9          6.3         1.8  virginica
109          6.7         2.5          5.8         1.8  virginica
110          7.2         3.6          6.1         2.5  virginica
111          6.5         3.2          5.1         2.0  virginica
112          6.4         2.7          5.3         1.9  virginica
113          6.8         3.0          5.5         2.1  virginica
114          5.7         2.5          5.0         2.0  virginica
115          5.8         2.8          5.1         2.4  virginica
116          6.4         3.2          5.3         2.3  virginica
117          6.5         3.0          5.5         1.8  virginica
118          7.7         3.8          6.7         2.2  virginica
119          7.7         2.6          6.9         2.3  virginica
120          6.0         2.2          5.0         1.5  virginica
121          6.9         3.2          5.7         2.3  virginica
122          5.6         2.8          4.9         2.0  virginica
123          7.7         2.8          6.7         2.0  virginica
124          6.3         2.7          4.9         1.8  virginica
125          6.7         3.3          5.7         2.1  virginica
126          7.2         3.2          6.0         1.8  virginica
127          6.2         2.8          4.8         1.8  virginica
128          6.1         3.0          4.9         1.8  virginica
129          6.4         2.8          5.6         2.1  virginica
130          7.2         3.0          5.8         1.6  virginica
131          7.4         2.8          6.1         1.9  virginica
132          7.9         3.8          6.4         2.0  virginica
133          6.4         2.8          5.6         2.2  virginica
134          6.3         2.8          5.1         1.5  virginica
135          6.1         2.6          5.6         1.4  virginica
136          7.7         3.0          6.1         2.3  virginica
137          6.3         3.4          5.6         2.4  virginica
138          6.4         3.1          5.5         1.8  virginica
139          6.0         3.0          4.8         1.8  virginica
140          6.9         3.1          5.4         2.1  virginica
141          6.7         3.1          5.6         2.4  virginica
142          6.9         3.1          5.1         2.3  virginica
143          5.8         2.7          5.1         1.9  virginica
144          6.8         3.2          5.9         2.3  virginica
145          6.7         3.3          5.7         2.5  virginica
146          6.7         3.0          5.2         2.3  virginica
147          6.3         2.5          5.0         1.9  virginica
148          6.5         3.0          5.2         2.0  virginica
149          6.2         3.4          5.4         2.3  virginica
150          5.9         3.0          5.1         1.8  virginica
データ型を調べる

iris 変数の中身のデータ型を調べます:

class(iris)

[1] "data.frame"

データフレーム型ですね。いわゆる表 (見出し付きの表,テーブル)です ね。

iris を文字列化

-str- は構造をもつ (structual) データを文字列化 (serial) する

str(iris)

花弁の長さの列を取り出す
iris[,"Sepal.Length"]

  [1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9 5.4 4.8 4.8 4.3 5.8 5.7 5.4 5.1
 [19] 5.7 5.1 5.4 5.1 4.6 5.1 4.8 5.0 5.0 5.2 5.2 4.7 4.8 5.4 5.2 5.5 4.9 5.0
 [37] 5.5 4.9 4.4 5.1 5.0 4.5 4.4 5.0 5.1 4.8 5.1 4.6 5.3 5.0 7.0 6.4 6.9 5.5
 [55] 6.5 5.7 6.3 4.9 6.6 5.2 5.0 5.9 6.0 6.1 5.6 6.7 5.6 5.8 6.2 5.6 5.9 6.1
 [73] 6.3 6.1 6.4 6.6 6.8 6.7 6.0 5.7 5.5 5.5 5.8 6.0 5.4 6.0 6.7 6.3 5.6 5.5
 [91] 5.5 6.1 5.8 5.0 5.6 5.7 5.7 6.2 5.1 5.7 6.3 5.8 7.1 6.3 6.5 7.6 4.9 7.3
[109] 6.7 7.2 6.5 6.4 6.8 5.7 5.8 6.4 6.5 7.7 7.7 6.0 6.9 5.6 7.7 6.3 6.7 7.2
[127] 6.2 6.1 6.4 7.2 7.4 7.9 6.4 6.3 6.1 7.7 6.3 6.4 6.0 6.9 6.7 6.9 5.8 6.8
[145] 6.7 6.7 6.3 6.5 6.2 5.9

別のやりかたでも取り出せます:

iris$Sepal.Length

  [1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9 5.4 4.8 4.8 4.3 5.8 5.7 5.4 5.1
 [19] 5.7 5.1 5.4 5.1 4.6 5.1 4.8 5.0 5.0 5.2 5.2 4.7 4.8 5.4 5.2 5.5 4.9 5.0
 [37] 5.5 4.9 4.4 5.1 5.0 4.5 4.4 5.0 5.1 4.8 5.1 4.6 5.3 5.0 7.0 6.4 6.9 5.5
 [55] 6.5 5.7 6.3 4.9 6.6 5.2 5.0 5.9 6.0 6.1 5.6 6.7 5.6 5.8 6.2 5.6 5.9 6.1
 [73] 6.3 6.1 6.4 6.6 6.8 6.7 6.0 5.7 5.5 5.5 5.8 6.0 5.4 6.0 6.7 6.3 5.6 5.5
 [91] 5.5 6.1 5.8 5.0 5.6 5.7 5.7 6.2 5.1 5.7 6.3 5.8 7.1 6.3 6.5 7.6 4.9 7.3
[109] 6.7 7.2 6.5 6.4 6.8 5.7 5.8 6.4 6.5 7.7 7.7 6.0 6.9 5.6 7.7 6.3 6.7 7.2
[127] 6.2 6.1 6.4 7.2 7.4 7.9 6.4 6.3 6.1 7.7 6.3 6.4 6.0 6.9 6.7 6.9 5.8 6.8
[145] 6.7 6.7 6.3 6.5 6.2 5.9

データフレームの1行目を取り出して,そのデータ型を調べます:

iris[1,]
class(iris[1,])

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
[1] "data.frame"

なんと,見出しも付随したデータフレームになります。 (解説ページの内容とは異なります)。

1列目を取り出すとどうでしょう:

iris[,1]
class(iris[,1])

  [1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9 5.4 4.8 4.8 4.3 5.8 5.7 5.4 5.1
 [19] 5.7 5.1 5.4 5.1 4.6 5.1 4.8 5.0 5.0 5.2 5.2 4.7 4.8 5.4 5.2 5.5 4.9 5.0
 [37] 5.5 4.9 4.4 5.1 5.0 4.5 4.4 5.0 5.1 4.8 5.1 4.6 5.3 5.0 7.0 6.4 6.9 5.5
 [55] 6.5 5.7 6.3 4.9 6.6 5.2 5.0 5.9 6.0 6.1 5.6 6.7 5.6 5.8 6.2 5.6 5.9 6.1
 [73] 6.3 6.1 6.4 6.6 6.8 6.7 6.0 5.7 5.5 5.5 5.8 6.0 5.4 6.0 6.7 6.3 5.6 5.5
 [91] 5.5 6.1 5.8 5.0 5.6 5.7 5.7 6.2 5.1 5.7 6.3 5.8 7.1 6.3 6.5 7.6 4.9 7.3
[109] 6.7 7.2 6.5 6.4 6.8 5.7 5.8 6.4 6.5 7.7 7.7 6.0 6.9 5.6 7.7 6.3 6.7 7.2
[127] 6.2 6.1 6.4 7.2 7.4 7.9 6.4 6.3 6.1 7.7 6.3 6.4 6.0 6.9 6.7 6.9 5.8 6.8
[145] 6.7 6.7 6.3 6.5 6.2 5.9
[1] "numeric"

これは,見出しのつかない,ただの,ベクトルとなります。

ベクトル

-iris[,1]- と同じ意味ですが:

iris[,"Sepal.Length"]
class(iris[,"Sepal.Length"])
  [1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9 5.4 4.8 4.8 4.3 5.8 5.7 5.4 5.1
 [19] 5.7 5.1 5.4 5.1 4.6 5.1 4.8 5.0 5.0 5.2 5.2 4.7 4.8 5.4 5.2 5.5 4.9 5.0
 [37] 5.5 4.9 4.4 5.1 5.0 4.5 4.4 5.0 5.1 4.8 5.1 4.6 5.3 5.0 7.0 6.4 6.9 5.5
 [55] 6.5 5.7 6.3 4.9 6.6 5.2 5.0 5.9 6.0 6.1 5.6 6.7 5.6 5.8 6.2 5.6 5.9 6.1
 [73] 6.3 6.1 6.4 6.6 6.8 6.7 6.0 5.7 5.5 5.5 5.8 6.0 5.4 6.0 6.7 6.3 5.6 5.5
 [91] 5.5 6.1 5.8 5.0 5.6 5.7 5.7 6.2 5.1 5.7 6.3 5.8 7.1 6.3 6.5 7.6 4.9 7.3
[109] 6.7 7.2 6.5 6.4 6.8 5.7 5.8 6.4 6.5 7.7 7.7 6.0 6.9 5.6 7.7 6.3 6.7 7.2
[127] 6.2 6.1 6.4 7.2 7.4 7.9 6.4 6.3 6.1 7.7 6.3 6.4 6.0 6.9 6.7 6.9 5.8 6.8
[145] 6.7 6.7 6.3 6.5 6.2 5.9
[1] "numeric"
データフレーム
class(iris[1,])

[1] "data.frame"
データセットの特徴
次元
dim(iris)

[1] 150   5
行数
nrow(iris)

列数
ncolumn(iris)

要約統計量
summary(iris)

 Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
Median :5.800   Median :3.000   Median :4.350   Median :1.300  
Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
      Species  
setosa    :50  
versicolor:50  
virginica :50
summary(iris$Sepal.Length)

 Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
4.300   5.100   5.800   5.843   6.400   7.900
度数 (頻度) 分布表 – ヒストグラム
hist(iris$Sepal.Length,breaks=100)

平均 (教科書2.5)

ここから教科書2.5の内容になります。

データの代表値

与えられたデータの特徴を捕える統計量は下記のものがある:

Min.
最小値
1st Qu.
第一四分位数 (下から1/4点)
Median
中央値
Mean
平均値
3rd Qu.
第三四分位数 (下から3/4点)
Max.
最大値
平均 (mean)

平均を R で定義すると下記の関数 -my.mean- となる。 -mean- は Rに組込まれた平均を求めるための関数。

my.mean <- function (v) {
  sum(v)/length(v)
}

my.mean(iris$Sepal.Length)
mean(iris$Sepal.Length)

[1] 5.843333
[1] 5.843333

-sum- はベクトルの総和,-legth- はベクトル長を求める関数。

中央値 (median)
median(iris$Sepal.Length)

[1] 5.8
最頻値 (median)
table(iris$Sepal.Length)


4.3 4.4 4.5 4.6 4.7 4.8 4.9   5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9   6 6.1 6.2 
  1   3   1   4   2   5   6  10   9   4   1   6   7   6   8   7   3   6   6   4 
6.3 6.4 6.5 6.6 6.7 6.8 6.9   7 7.1 7.2 7.3 7.4 7.6 7.7 7.9 
  9   7   5   2   8   3   4   1   1   3   1   1   1   4   1

irisデータフレームのSepal.Lengthの各値に対し,出現頻度を求めている。

下記のように,ヒストグラムを描くこともできる:

hist(iris$Sepal.Length, breaks=100)

散布度, 分散,標準偏差 – 教科書 2.7~2.8

代表値
分布の中心的位置を示す
散布度
分布の,中心からの,散らばり,ばらつき 分散,標準偏差
ベクトル・データの準備
(テストa <- c(10, 13, 8, 15, 8))

[1] 10 13  8 15  8
平均

まずは,各値を加えてみる:

10+13+8+15+8

sum(テストa) # ベクトルの要素の和

[1] 54
[1] 54

ベクトルの総和を使う:

sum(テストa) /length(テストa)

[1] 10.8

Rシステムの平 -mean- を使ってみる:

(テストaの平均 <- mean(テストa))

[1] 10.8
平均からの偏差

ベクトルの各要素から,平均値を引くことで,平均からの偏差ベクトル が求まる:

(平均からの偏差 <- テストa - テストaの平均) # (ベクトル - 数値) の結果はベクトル!

[1] -0.8  2.2 -2.8  4.2 -2.8
平均からの偏差の二乗

平均からの偏差ベクトルを2乗すると,各要素を2乗したベクトルが求ま る:

(平均からの偏差の二乗 <- 平均からの偏差^2) # (べくとる)^2 は要素の2乗のベクトル!

[1]  0.64  4.84  7.84 17.64  7.84
データ数

データ数は,ベクトルの長さそのもの:

(データ数 <- length(テストa))

[1] 5
平均からの偏差の二乗和
(平均からの偏差の二乗和 <- sum(平均からの偏差の二乗))

[1] 38.8
分散
(分散 <- 平均からの偏差の二乗和/データ数)

[1] 7.76

これまでの操作を関数にまとめると,

my.分散 <- function(v){

  sum((v - mean(v))^2)/length(v)

}

(分散 <- my.分散(テストa))

[1] 7.76
標準偏差

標準偏差は,各データの平均からの距離の平均です。 $\mbox{準偏差} σ = \sqrt{\sigma^2}$です。

(標準偏差 <- sqrt(分散))

[1] 2.785678

標準化

平均が \(\mu\), 標準偏差が \(\sigma\) である分布を, 平均が \(0\), 標準偏差が \(1\) である分布に(変数)変換するのが, 標準化 です。

Author: suzuki@iwate-u.ac.jp

Created: 2021-10-17 日 20:48

Validate