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