読者です 読者をやめる 読者になる 読者になる

R 平均偏差、範囲(レンジ)、標準化

勉強する内容

  • 平均偏差: 平均からの偏差の絶対値の平均
  • abs() : 絶対値
  • 範囲(レンジ): 最大値から最小値をひいたもの
  • 標準化: 平均と標準偏差がある特定の値になるように、すべてのデータの値を同じ式を使って変換
  • z得点: 平均0、標準偏差1になるように変換した標準得点

データは、『Rによるやさしい統計学https://www.amazon.co.jp/dp/4274067106 2章から。

平均偏差

{ \displaystyle
\frac{ 1 }{ n } \sum_{ i = 1 }^{ n } \mid x_i - \bar{ x } \mid
}

レンジ

 { X = \{  x_1, x_2, \cdots , x_n \} } のとき

{ \displaystyle
R = max(X) - min(X)
}

z得点 (平均が  {\bar{x} } 標準偏差 { s } のとき)

{ \displaystyle
Z = \frac{X - \bar{x} }{s}
}

test_a <- c(10,13,8,15,8)
test_a - mean(test_a)
abs(test_a - mean(test_a))
mean(abs(test_a - mean(test_a)))

max(test_a)
min(test_a)
max(test_a) - min(test_a)

psychological_test <- c(13,14,7,12,10,6,8,15,4,14,9,6,10,12,5,12,8,8,12,15)
# 心理テスト平均
mean(psychological_test)
# 参考:心理テスト不偏分散
var(psychological_test)
# 心理テスト標本分散
psy_hyouhonbunsan <- var(psychological_test) * (length(psychological_test)-1) / length(psychological_test)
# 参考:標準偏差
sd(psychological_test)
# 心理テスト標本分散の標準偏差
psy_hyoujunhensa <- sqrt(psy_hyouhonbunsan)
psy_hyoujunhensa
psy_z_tokuten <- (psychological_test - mean(psychological_test)) / psy_hyoujunhensa
psy_z_tokuten
# 心理学z得点平均
mean(psy_z_tokuten)
# 心理学z得点の標準偏差
sqrt(mean((psy_z_tokuten - mean(psy_z_tokuten))^2))

実行結果

> test_a <- c(10,13,8,15,8)
> test_a - mean(test_a)
[1] -0.8  2.2 -2.8  4.2 -2.8
> abs(test_a - mean(test_a))
[1] 0.8 2.2 2.8 4.2 2.8
> mean(abs(test_a - mean(test_a))) #平均偏差
[1] 2.56
> max(test_a)
[1] 15
> min(test_a)
[1] 8
> max(test_a) - min(test_a) #範囲(レンジ)
[1] 7
> 
> 
> psychological_test <- c(13,14,7,12,10,6,8,15,4,14,9,6,10,12,5,12,8,8,12,15)
> mean(psychological_test)
[1] 10
> var(psychological_test) #参考までに不偏分散
[1] 11.68421
> psy_hyouhonbunsan <- var(psychological_test) * (length(psychological_test)-1) / length(psychological_test)
> sd(psychological_test) #参考までに不偏分散の標準偏差
[1] 3.418217
> psy_hyoujunhensa <- sqrt(psy_hyouhonbunsan)
> psy_hyoujunhensa
[1] 3.331666
> psy_z_tokuten <- (psychological_test - mean(psychological_test)) / psy_hyoujunhensa
> psy_z_tokuten
 [1]  0.9004503  1.2006005 -0.9004503  0.6003002  0.0000000 -1.2006005
 [7] -0.6003002  1.5007506 -1.8009007  1.2006005 -0.3001501 -1.2006005
[13]  0.0000000  0.6003002 -1.5007506  0.6003002 -0.6003002 -0.6003002
[19]  0.6003002  1.5007506
> mean(psy_z_tokuten)
[1] -2.753874e-18 #実質0
> sqrt(mean((psy_z_tokuten - mean(psy_z_tokuten))^2))
[1] 1
>