Si tengo un gran conjunto de datos en R, ¿cómo puedo tomar muestras aleatorias de los datos teniendo en cuenta la distribución de los datos originales, particularmente si los datos son asimétricos y solo 1% pertenecer a una clase menor y quiero tomar una muestra sesgada de los datos?Tomando una muestra desproporcionada de un conjunto de datos en R
12
A
Respuesta
20
La función sample(x, n, replace = FALSE, prob = NULL)
toma una muestra de un vector x
del tamaño n
. Esta muestra se puede con o sin reemplazo, y las probabilidades de seleccionar cada elemento a la muestra puede ser o bien el mismo para cada elemento de, o un vector informado por el usuario.
Si usted quiere tomar una muestra de la mismas probabilidades para cada elemento con 50 casos, todo lo que tiene que hacer es
n <- 50
smpl <- df[sample(nrow(df), 50),]
Sin embargo, si usted quiere dar diferentes probabilidades de ser seleccionado para los elementos, digamos, elementos que sexo es M tiene probabilidad 0,25, mientras que aquellos cuya sexo es F tiene prob 0,75, que sh ould do
n <- 50
prb <- ifelse(sex=="M",0.25,0.75)
smpl <- df[sample(nrow(df), 50, prob = prb),]
Cuestiones relacionadas
- 1. Trazado CDF de un conjunto de datos en R?
- 2. Reorganizar varias columnas en un conjunto de datos en una columna usando R
- 3. R: ¿Cómo ajustar un gran conjunto de datos con una combinación de distribuciones?
- 4. ¿Cómo calcular la correlación de dos variables en un gran conjunto de datos en R?
- 5. Muestra aleatoria de filas del subconjunto de un dataframe R
- 6. Filtrado de datos en R
- 7. Generación de un mapa de calor que representa los conglomerados en un conjunto de datos utilizando agrupación jerárquica en R
- 8. Valores promedio de un conjunto de datos de punto a un conjunto de datos de cuadrícula
- 9. ¿Cómo puedo encontrar una implementación de una estructura de datos correspondiente a un conjunto matemático en R?
- 10. haciendo PCA en un conjunto de datos muy grande en R
- 11. Cómo trazar un conjunto de densidades en 3D usando R?
- 12. Filtrar duplicados de un conjunto de datos cargado en SSIS
- 13. que muestra un mensaje de estado en R
- 14. formset de Django: ¿muestra campos adicionales solo cuando no hay un conjunto de datos inicial?
- 15. ¿Cómo puedo crear un histograma para todas las variables en un conjunto de datos con un esfuerzo mínimo en R?
- 16. Reestructurar datos en R
- 17. Rellenar un conjunto de datos o una tabla de datos de un conjunto de resultados de consultas LINQ
- 18. guardando un archivo de datos en R
- 19. Cómo eliminar valores atípicos de un conjunto de datos
- 20. Densidad de probabilidad de trazado/función de masa del conjunto de datos en R
- 21. ¿Cuál es la mejor manera de almacenar un conjunto de Delphi en un conjunto de datos?
- 22. Obtener una celda del conjunto de datos
- 23. Git + un gran conjunto de datos?
- 24. la adición de una tabla de datos en un conjunto de datos
- 25. Tomando una foto y geoetiquetándola
- 26. bosque aleatorio en un gran conjunto de datos
- 27. Convierte un Gráfico en un Marco de Datos en R
- 28. Una función que devuelve un conjunto de datos
- 29. Crear una base de datos SQLite basada en un conjunto de datos XSD
- 30. datos de recodificación en r
Importe los datos, encuentre los pesos para sus "niveles" y deje que 'sample' se encargue del resto. Ayudaría si pudieras reducir tu pregunta (con al menos datos de muestra - http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). –
Vea también http://stackoverflow.com/questions/2923092/how-do-i-sub-sample-data-by-group-using-ddply –