¿Cómo seleccionar muestras aleatorias en R? (con ejemplos)

Puedes opinar sobre este contenido:
  • 0
  • 0
  • 0
  • 0

Actualizado el 24 de noviembre de 2022, por Dereck Amesquita.

Para seleccionar una muestra aleatoria en R podemos usar la función sample () , que usa la siguiente sintaxis:

Función de R para obtener muestras aleatorias

Para obtener una muestra se utiliza la siguiente función:

sample(x, size, replace = FALSE, prob = NULL)

Dónde:

  • x: un vector de elementos entre los que elegir.
  • size: tamaño de la muestra.
  • replace: ya sea ​​para muestrear con reemplazo o no. El valor predeterminado es FALSO.
  • prob: Vector de ponderaciones de probabilidad para obtener elementos del vector. El valor predeterminado es NULL.

Este tutorial explica cómo usar esta función para seleccionar una muestra aleatoria en R tanto de un vector como de un marco de datos.

Obtener muestra aleatoria de un vector

El siguiente código muestra cómo seleccionar una muestra aleatoria de un vector sin reemplazo :

# Creamos un vector de datos
data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14)

# Selecionamos una muestra aleatoria de 5 elementos
sample(x=data, size=5)

[1] 10 12  5 14  7

El siguiente código muestra cómo seleccionar una muestra aleatoria de un vector con reemplazo.

# Creamos un vector de datos
data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14)

# Seleccionamos una muestra aleatoria de 5 elementos con remplazo
sample(x=data, size=5, replace=TRUE)

[1] 12  1  1  6 14

Muestra aleatoria de un Data Frame

El siguiente código muestra cómo seleccionar una muestra aleatoria de un marco de datos:

# Creamos un Data Frame
df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14),
                 y=c(12, 6, 4, 23, 25, 8, 9),
                 z=c(2, 7, 8, 8, 15, 17, 29))

# Seleccionamos una muestra aleatoria de las 3 filas del Data Frame
rand_df <- df[sample(nrow(df), size=3), ]

#Mostramos la muestra
rand_df

   x  y  z
4  6 23  8
7 14  9 29
1  3 12  2

Esto es lo que sucede en este fragmento de código:

1. Para seleccionar un subconjunto de un marco de datos en R, usamos la siguiente sintaxis: df [filas, columnas]

2. En el código anterior, seleccionamos aleatoriamente una muestra de 3 filas del marco de datos y todas las columnas.

3. El resultado final es un subconjunto del marco de datos con 3 filas seleccionadas al azar.

Es importante tener en cuenta que cada vez que usamos la función sample () , R seleccionará una muestra diferente ya que la función elige valores al azar.

Para replicar los resultados de algún análisis, asegúrese de usar set.seed (algún número) para que la función sample () elija la misma muestra aleatoria cada vez. Por ejemplo:

#En este ejemplo, podrás replicas los mismos resultados
set.seed(23)

# Creamos un Data Frame
df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14),
                 y=c(12, 6, 4, 23, 25, 8, 9),
                 z=c(2, 7, 8, 8, 15, 17, 29))

# Seleccionamos una muestra aleatoria de 3 elementos por cada fila
rand_df <- df[sample(nrow(df), size=3), ]

# Mostramos la muestra
rand_df

   x  y  z
5  8 25 15
2  5  6  7
6 12  8 17

Cada vez que ejecute el código anterior, se seleccionarán las mismas 3 filas del marco de datos cada vez.

Recursos adicionales

Muestreo estratificado en R (con ejemplos)
Muestreo sistemático en R (con ejemplos)
Muestreo de conglomerados en R (con ejemplos)

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

Un resumen de cinco números es una forma de resumir un conjunto de datos utilizando los siguientes cinco valores: El…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!