特定の間隔で標準正規分布の平均を見つけたい。
たとえば、標準正規分布を 2 つに分割した場合 ([-Inf:0] [0:Inf])、それぞれの半分の平均を取得したいと考えています。
次のコードは、私が望むことをほぼ正確に実行します。
divide <- 2
boundaries <- qnorm(seq(0,1,length.out=divide+1))
t <- sort(rnorm(100000))
means.1 <- rep(NA,divide)
for (i in 1:divide) {
means.1[i] <- mean(t[(t>boundaries[i])&(t<boundaries[i+1])])
}
しかし、これらの数値を計算するには、より正確な (そして洗練された) メソッドが必要です (means.1)。
次のコードを試しましたが、うまくいきませんでした (確率に関する知識が不足しているためかもしれません)。
divide <- 2
boundaries <- qnorm(seq(0,1,length.out=divide+1))
means.2 <- rep(NA,divide)
f <- function(x) {x*dnorm(x)}
for (i in 1:divide) {
means.2[i] <- integrate(f,lower=boundaries[i],upper=boundaries[i+1])$value
}
何か案は?前もって感謝します。