1回の繰り返し計算(ループ)で分散を求める
以下の例のようにすればよい。ただし、求まるのは分散(偏差の平方和をnで割った値)であって不偏分散(偏差の平方和をn-1で割った値)ではないことに注意。
x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
n <- length(x) # 標本数
sum <- sum2 <- 0.
for (i in 1:n) {
sum <- sum + x[i]
sum2 <- sum2 + x[i] ^ 2
}
(ave <- sum / n) # 平均
(vari <- sum2 / n - ave * ave) # 分散
参考までに、Rに標準で搭載されている分散を求める関数varは不偏分散を求めるものである。
« [R]SpatialLinesDataFrameオブジェクトから座標データを簡単に抜き出す | トップページ | [R]微分する »
「R(数値計算)」カテゴリの記事
- [R]複数のパラメーターと定数を持つ関数の値が最大・最小となるパラメーターを求める(2026.03.30)
- [R]重み付き線形最小二乗法を行う(2026.03.20)
- [R]重み付き非線形最小二乗法を行う(2026.03.06)
- [R]計算機イプシロンを求める(2025.10.29)
- [R]複数の引数を持つ関数の値の最小値(最大値)を求める(2024.12.07)
« [R]SpatialLinesDataFrameオブジェクトから座標データを簡単に抜き出す | トップページ | [R]微分する »

コメント