R 平均偏差、範囲(レンジ)、標準化
勉強する内容
- 平均偏差: 平均からの偏差の絶対値の平均
- abs() : 絶対値
- 範囲(レンジ): 最大値から最小値をひいたもの
- 標準化: 平均と標準偏差がある特定の値になるように、すべてのデータの値を同じ式を使って変換
- z得点: 平均0、標準偏差1になるように変換した標準得点
データは、『Rによるやさしい統計学』 https://www.amazon.co.jp/dp/4274067106 2章から。
平均偏差
レンジ
のとき
z得点 (平均が 標準偏差が のとき)
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 >