sd
は母集団標準偏差ではなく標本標準偏差を計算するので、母集団標準偏差を得る関数を書く必要がありました。R:母集団標準偏差をNAと計算する
NA
がない場合、以下のように簡単に行うことができます。
> set.seed(1)
> mf1<-matrix(sample(c(10:100),18, replace=T),ncol=3)
> mf1
[,1] [,2] [,3]
[1,] 34 95 72
[2,] 43 70 44
[3,] 62 67 80
[4,] 92 15 55
[5,] 28 28 75
[6,] 91 26 100
> pop.sd<-function(x){sqrt(sum((x-mean(x))^2)/length(x))}
> apply(mf1,1,pop.sd)
[1] 25.152866 12.498889 7.586538 31.443070 22.156012 32.967998
ただし、NAsがある場合、対応する行にはNAが返されます。
> mf2<-mf1
> mf2[c(2,5),3]<-NA
> mf2
[,1] [,2] [,3]
[1,] 34 95 72
[2,] 43 70 NA
[3,] 62 67 80
[4,] 92 15 55
[5,] 28 28 NA
[6,] 91 26 100
> apply(mf2, 1, pop.sd)
[1] 25.152866 NA 7.586538 31.443070 NA 32.967998
あなたは私もいくつかの第二の数値と5行を持つことができるように、機能は、NASを許可するために私を助けてもらえますか?
ありがとうございました。
することができますそれらのうちのいくつかが欠落している場合、数値セットの標準偏差はどのようになるべきですか? – Hugh
@Hugh彼らは13.5と0でなければなりません。 –
あなたは私のポイントを欠場します。一般に、 'pop.sd'を計算するときに値を単純に除外するのではなく、なぜ値が欠落しているのかを理解する必要があります。 2番目の値が0でなければならないとすると、[5,3]の値は28になります。 – Hugh