« [R]SpatialLinesDataFrameオブジェクトから座標データを簡単に抜き出す | トップページ | [R]微分する »

2014年1月29日 (水)

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]SpatialLinesDataFrameオブジェクトから座標データを簡単に抜き出す | トップページ | [R]微分する »

無料ブログはココログ

■■

■■■