Je veux trouver la moyenne de la distribution normale standard dans un intervalle donné.
Par exemple, si je divise la distribution normale standard en deux ([-Inf:0] [0:Inf]), je veux obtenir la moyenne de chaque moitié.
Le code suivant fait presque exactement ce que je veux :
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])])
}
Mais j'ai besoin d'une méthode plus précise (et élégante) pour calculer ces chiffres (moyens.1).
J'ai essayé le code suivant mais cela n'a pas fonctionné (peut-être à cause du manque de mes connaissances en probabilité).
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
}
Avez-vous des idées ? Merci d'avance.