How can I compute 1/N

I would like to do something like rep(1/N,N) in R, but got this error:

int N = rows(X);
vector[N] ds = rep_vector(1/N,N);

SYNTAX ERROR, MESSAGE(S) FROM PARSER:
Info: integer division implicitly rounds to integer. Found int division: 1 / N
Positive values rounded down, negative values rounded up or down in platform-dependent way.

Add a . for floating point division:

vector[N] ds = rep_vector(1.0/N,N);

4 Likes

Thanks, it works!

In the most recent release (2.24), you could also use uniform_simplex(N).

1 Like