[R] A vector of normal distributed values with a sum-to-zero constraint

Marc Marí Dell'Olmo marceivissa at gmail.com
Tue Apr 1 14:56:24 CEST 2014

Dear all,

Anyone knows how to generate a vector of Normal distributed values
(for example N(0,0.5)), but with a sum-to-zero constraint??

The sum would be exactly zero, without decimals.

I made some attempts:

> l <- 1000000
> aux <- rnorm(l,0,0.5)
> s <- sum(aux)/l
> aux2 <- aux-s
> sum(aux2)
[1] -0.000000000006131392
> aux[1]<- -sum(aux[2:l])
> sum(aux)
[1] -0.00000000000003530422

but the sum is not exactly zero and not all parameters are N(0,0.5)

Perhaps is obvious but I can't find the way to do it..

Thank you very much!


More information about the R-help mailing list