1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Rと統計 -その1 (平均、分散、標準偏差)-

Last updated at Posted at 2022-04-16

Rと統計 -その1 (平均、分散、標準偏差)-

本投稿は、統計に関連したRのコードをまとめたものになります。
(自分自身の備忘録の意味も込めて。。。)
なお、統計の詳しい概念や知識、Rの基本的なコードやその他のコードはあまり載せていませんので、他の投稿等でご覧いただけたらと思います。
今回は、平均、分散、標準偏差の3つをまとめていきます。

0. はじめに

使用する関数

今回使用する関数は以下の通りです。
・sum():総和を求める
・length():データの個数を求める
・mean():平均を求める
・var():分散を求める
・sd():標準偏差を求める
・sqrt():平方根をとる

使用するデータ

今回取り組むにあたって、以下のような架空の統計のテストの結果を使用します。

受験番号 点数(10点満点)
1 5
2 9
3 10
4 2
5 7
6 8
7 1
8 5
9 4
10 3

上記の統計テスト(statistics test)の結果をstat_testというオブジェクトに格納します。

stat_test <- c(5,9,10,2,7,8,1,5,4,3)
stat_test
出力
 [1]  5  9 10  2  7  8  1  5  4  3

1. 平均

では、「0. はじめに」にある統計テストの結果の平均をRで求めてみましょう。
2通りのやり方を載せます。

方法① 関数sum()と関数length()を使う

まず初めは、平均 = 総和 / データの個数という平均の基本的な概念をそのままコードにします。
総和は関数sum()を、データの個数は関数length()を使用します。
それぞれの関数の括弧内にオブジェクト名を記入して、実行すればOKです。
今回は、stat_testオブジェクトの名前を記入します。
計算したものをaverage1というオブジェクトに格納してみます。

average1 <- sum(stat_test) / length(stat_test)
average1
出力
 [1] 5.4

5.4という結果が得られました。

方法② 関数mean()を使う

もう1つの方法として、関数mean()を使うことができます。
関数mean()を使って計算したものをaverage2というオブジェクトに格納してみます。

average2 <- mean(stat_test)
average2
出力
 [1] 5.4

average1average2どちらも同じ出力になりました。

2.分散

続いて、分散(variance)を見ていきます。
分散は、ばらつきを表す指標です。
求め方としては、(各データの値 - 平均)を2乗し、それらを全て足したものを、(データの個数 - 1) で割ります。

データの個数 で割ったものは分散、(データの個数 - 1) で割ったものは不偏分散といいます(統計学においては不偏分散が使われることが多く,不偏分散を単に分散と呼ぶことが多いようです)。

variance1 <- sum((stat_test - average1)^2) / (length(stat_test) - 1)
variance1
出力
[1] 9.155556

Rでは、関数var()を使えば簡単に計算することができます。
計算結果をvarianceというオブジェクトに格納します。

variance2 <- var(stat_test)
variance2
出力
 [1] 9.155556

3.標準偏差

最後に標準偏差(standard deviation; SD)を見ていきます。
標準偏差も分散同様、ばらつきを表す指標です。
分散は、「2乗したもの」の総和でした。
標準偏差は分散の平方根をとったものになります。
Rでは、関数sd()を使用します。
この関数を使って計算したものをsd1というオブジェクトに格納します。

sd1 <- sd(stat_test)
sd1
出力
 [1] 3.025815

別の方法としては、平方根をとる関数sqrt()を使うことができます。
関数sqrt()に分散の値を入れたら、OKです。
この関数を使って計算したものをsd2というオブジェクトに格納します。

sd2 <- sqrt(variance2)
sd2
出力
 [1] 3.025815

同じ結果になりました。

参考

次のURLや書籍を参考にさせていただきました。
ありがとうございます。
より学びが深まると思いますので、良かったらご覧ください。

【R言語】平均と分散と標準偏差
Rで学ぶ統計学入門

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?