R Project: genera números aleatorios

La obtención de números aleatorios es en muchas ocasiones un requerimiento esencial en investigación científica. Proceder de este modo puede reducir cualquier sesgo generado por nuestra persona a la hora de seleccionar una muestra, con la consecuente eliminación de sospechas a la hora de seleccionar una muestra u otra.

¿Que no sabéis de lo que hablo? Imaginaros por un momento que tenemos que seleccionar 10 ejemplares para evaluar una hipótesis. ¿Cómo pueden estar seguros los referees del artículo científico y/o los lectores del mismo que la selección ha sido hecha en base a argumentos empíricos y no a argucias destinadas a seleccionar aquellos individuos que justifiquen nuestra hipótesis? Pues bien, una posible solución es obtener números aleatorios. Y en R es muy sencillo hacerlo.

Comando sample para generar números aleatorios

Con un simple comando R vamos a ver cómo obtener números aleatorios. Veamos un ejemplo:

sample(1:30,10,replace=F)
[1] 5 3 19 10 28 4 11 23 16 22

Desgranemos los atributos del comando sample:

  • 1:30 = significa que el intervalo de datos va a estar comprendido entre ambos números (1 y 30 inclusive).
  • 10 = significa el número de números aleatorios que quieres salgan del intervalo anterior.
  • replace=F/T = si quieres que puedan repetirse los números aleatorios (es decir, obtener por ejemplo dos números 3), dejamos el valor T (true). Si no queremos repetición, ponemos el valor F (false).

 

Ejemplo 1. Obtener 4 números aleatorios con repetición en el intervalo 1 - 10
Ejemplo 2. Obtener 10 números aleatorios sin repetición en el intervalo 50 - 100.

Última idea

La repetición de un comando concreto sucesivas veces dará, obviamente, una selección distinta de números aleatorios. Veámoslo por ejemplo, ejecutando seis veces el siguiente comando:

sample(1:50,10,replace=F)
[1] 12 39 4 29 5 3 14 1 25 40
sample(1:50,10,replace=F)
[1] 6 32 28 27 47 40 22 17 36 14
sample(1:50,10,replace=F)
[1] 14 23 47 13 44 45 36 11 49 34
sample(1:50,10,replace=F)
[1] 19 7 39 41 18 5 42 2 45 34
sample(1:50,10,replace=F)
[1] 8 35 6 34 12 25 47 24 28 39
sample(1:50,10,replace=F)
[1] 24 27 31 13 48 12 26 42 2 21

¿Quieres convertirte en un experto en programación en R? Con estos cursos online…

Completamente online, y comenzando cuando tú quieras, os proponemos estos 8 cursos de programación en R ofrecidos por Udemy, una de las mejores plataformas de cursos online de internet. Con ellos podrás mejorar sustancialmente tu curriculum vitae. ¿A qué estás esperando? Si quieres ver todos los cursos de programación en R, haz click aquí.

5 thoughts on “R Project: genera números aleatorios

  1. Hola Buenas,

    ¿Se puede usar esta función y además añadir que tenga una media y desviación estandar concretas?
    O existe alguna otra función para generar datos aleatorios con una media y desviación estandar concretas, pero que solo utilize los números que tu le pases?

    • Hola Mario, por supuesto que se puede. Supónte que quieres 20 datos que tengan una media de 10 y desviación estándar de 3, y que siga una distribución normal. Simplemente ejecuta rnorm(mean=10, sd=3, n=20). Et voilà!

  2. Hola buenas,

    Pero no quiero que siga ninguna distribución, sino que simplemente sean aleatorios. Es decir algo como sample(1:4,100,replace=T) y además añadir a esta función que sea (mean=3, sd=2).

    Es que con la función rnorm no le puedo indicar que sólo me utilice valores comprendidos entre 1 y 4, o por lo menos yo no sé especificarlo.

Leave a Comment

*