Generar Números aleatorios entre 2 valores
En los últimos días me han preguntado 2 veces como generar números aleatorios entre 2 valores en SAS. Realmente la manera de generar estás secuencias de números aleatorios va más allá del software que estes utilizando, puede ser SAS, Ms Excel, Visual Basic, Java etc etc. La base es la misma. Aquí tienen un pequeño ejemplo.
La función o ecuación que vamos a utilizar es la siguiente:
La función o ecuación que vamos a utilizar es la siguiente:
Int((MaxValue – MinValue + 1) * Rnd) + MinValue
donde, MaxValue y MinValue son los valores extremos de cadena o secuencia de números aleatorios que se desean generar y Rnd es la distribución que deseamos utilizar, puede ser Uniforme, Normal, Poisson, Binomial, Weibull etc.
El siguiente ejemplo genera 100 números aleatorios uniformes entre 100 y 1000.
Data random;
do i=1 to 100;
secuencia=Int((1000 – 100 + 1) * ranuni(058212)) + 100;
output;
end;
run;
SASludos
Alberto
Advertisement
Categorías:Programming, Shorts, Stat
Hola. muchas gracias. me has salvado la vida. Bueno, no tanto, pero sí me has ayudado mucho. Saludos.!implementado en java:public int[] random(int n, int low, int high) { int[] resultado = new int[n]; for (int i = 0; i < resultado.length; i++) { resultado[i] = (int) ((high – low + 1) * Math.random() + low); } return resultado; }
holaaa me es muy util tu post en este momento! debo implementar esta funcion en java, mi unico problema es que no se como implementar la funcion ranuni y no la encuentro en ningun lado!!! te agradeceria mucho si pudieras ayudarme!!! muchas gracias
Romina
java:public int[] random(int n, int low, int high) { int[] resultado = new int[n]; for (int i = 0; i < resultado.length; i++) { resultado[i] = (int) ((high – low + 1) * Math.random() + low); } return resultado; }
muchas gracias!!!!!!! me salvas la vidaaaa