Cómo generar una muestra usando la función de muestra en R

La función sample () en R le permite tomar una muestra aleatoria de elementos de un conjunto de datos o un vector, con o sin reemplazo.

La sintaxis básica de la función sample () es la siguiente:

muestra (x, tamaño, reemplazar = FALSO , problema = NULO )

x : un conjunto de datos o vector entre los que elegir la muestra de
tamaño : El tamaño de la muestra
reemplazan : debe muestreo sea con reemplazo? (esto es FALSO por defecto)
problema : un vector de ponderaciones de probabilidad para obtener los elementos del vector que se muestrea

La documentación completa de sample () se puede encontrar aquí .

Los siguientes ejemplos ilustran ejemplos prácticos del uso de sample ().

Generando una muestra a partir de un vector

Supongamos que tenemos el vector a con 10 elementos:

#define el vector a con 10 elementos en él 
a <- c (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

Para generar una muestra aleatoria de 5 elementos del vector a sin reemplazo, podemos usar la siguiente sintaxis:

#generar una muestra aleatoria de 5 elementos del vector una
 muestra (a, 5)

# [1] 3 1 4 7 5

Es importante tener en cuenta que cada vez que generamos una muestra aleatoria, es probable que obtengamos un conjunto diferente de elementos cada vez.

#generar otra muestra aleatoria de 5 elementos del vector una
 muestra (a, 5)

# [1] 1 8 7 4 2

Si nos gustaría poder replicar nuestros resultados y trabajar con la misma muestra cada vez, podemos usar set.seed () .

# set.seed (algún número aleatorio) para asegurarnos de obtener la misma muestra cada vez
 set.seed (122)

#define el vector a con 10 elementos en él 
a <- c (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

#generar una muestra aleatoria de 5 elementos del vector una
 muestra (a, 5)

# [1] 10 9 2 1 4

#generar otra muestra aleatoria de 5 elementos del vector una
 muestra (a, 5)

# [1] 10 9 2 1 4

También podemos usar el argumento replace = TRUE para muestrear con reemplazo. Esto significa que se puede elegir cada elemento del vector para que esté en la muestra más de una vez.

# generar una muestra aleatoria de 5 elementos del vector a usando muestreo con muestra de reemplazo
 (a, 5, replace = TRUE)

# 10 10 2 1 6

Generar una muestra a partir de un conjunto de datos

Otro uso común de la función sample () es generar una muestra aleatoria de filas a partir de un conjunto de datos. Para el siguiente ejemplo, generaremos una muestra aleatoria de 10 filas a partir del iris del conjunto de datos R integrado , que tiene 150 filas en total.

#ver las primeras 6 filas del cabezal del conjunto de datos del iris
 (iris)

# Sepal.Length Sepal.Width Petal.Length Petal.Width Especies
# 1 5,1 3,5 1,4 0,2 setosa
# 2 4,9 3,0 1,4 0,2 setosa
# 3 4,7 3,2 1,3 0,2 setosa
# 4 4,6 3,1 1,5 0,2 setosa
# 5 5.0 3.6 1.4 0.2 setosa
# 6 5,4 3,9 1,7 0,4 setosa

#set seed para garantizar que este ejemplo sea replicable 
set.seed (100)

 #elija un vector aleatorio de 10 elementos de las 150 filas en el conjunto de datos de iris
sample_rows <- muestra (1: nrow (iris), 10)
sample_rows

# [1] 47 39 82 9 69 71 117 53 78 25

# elija las 10 filas del conjunto de datos del iris que coincidan con los números de fila anteriores
muestra <- iris [sample_rows,]
muestra

# Sepal.Length Sepal.Width Petal.Length Petal.Width Especies
# 47 5.1 3.8 1.6 0.2 setosa
# 39 4,4 3,0 1,3 0,2 setosa
# 82 5,5 2,4 3,7 1,0 versicolor
# 9 4,4 2,9 1,4 0,2 setosa
# 69 6.2 2.2 4.5 1.5 versicolor
# 71 5.9 3.2 4.8 1.8 versicolor
# 117 6.5 3.0 5.5 1.8 Virginia
# 53 6,9 3,1 4,9 1,5 versicolor
# 78 6.7 3.0 5.0 1.7 versicolor
# 25 4,8 3,4 1,9 0,2 setosa

Tenga en cuenta que si copia y pega el código anterior en su propia consola R, debería obtener exactamente la misma muestra, ya que usamos set.seed (100) para asegurarnos de obtener la misma muestra cada vez.

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

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 gráfico semilogarítmico es un tipo de gráfico que utiliza una escala logarítmica en el eje y y una escala…
statologos comunidad-2

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

You have Successfully Subscribed!