Tengo un objeto densidad dd creado de esta manera:Generar desvía al azar estocásticos de un objeto de densidad con R
x1 <- rnorm(1000)
x2 <- rnorm(1000, 3, 2)
x <- rbind(x1, x2)
dd <- density(x)
plot(dd)
que produce esta distribución muy no gaussiana:
alt text http://www.cerebralmastication.com/wp-content/uploads/2009/09/nongaus.png
lo haría en última instancia, le gusta obtener desviaciones aleatorias de esta distribución, similar a la forma en que rnorm se desvía de una distribución normal.
La forma en que trato de descifrar esto es obtener la CDF de mi kernel y luego hacer que me diga la variante si le paso una probabilidad acumulativa (CDF inversa). De esa manera puedo convertir un vector de variables aleatorias uniformes en dibujos de la densidad.
Parece que lo que estoy tratando de hacer debe ser algo básico que otros hayan hecho antes que yo. ¿Hay una manera simple o una simple función para hacer esto? Odio reinventar la rueda.
FWIW Encontré this R Help article pero no puedo entender lo que están haciendo y la salida final no parece producir lo que estoy buscando. Pero podría ser un paso en el camino que simplemente no entiendo.
He considerado ir con un Johnson distribution from the suppdists package pero Johnson no me dará la buena joroba bimodal que tienen mis datos.
más una cuestión de estadísticas de la programación ... –
sé las estadísticas. Quiero implementar el método de estadísticas en un idioma determinado. Eso es programación. –