Contenido de este artículo
- 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)
¿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: