Necesito calcular la función de distribución acumulativa de una muestra de datos.
¿Hay algo similar a hist () en R que mida la función de densidad acumulativa?
He intentado ecdf () pero no puedo entender la lógica.
r
distributions
cdf
emanuele
fuente
fuente
x
simplemente escribeP(x)
. Tenga en cuenta quex
puede ser un vector (vea las últimas oraciones de mi respuesta).Lo que parece necesitar es obtener la distribución acumulada (probabilidad de obtener un valor <= que x en una muestra), ecdf le devuelve una función, pero parece estar hecha para trazar, y así, el argumento de esa función , si se tratara de una escalera, sería el índice de la banda de rodadura.
Puedes usar esto:
Lamentablemente, el uso de esta función no es muy rápido. No sé si R tiene una función que hace que esto te devuelva una función, eso sería más eficiente.
fuente
R
calcula, de hecho, el ECDF: su argumento es un valor potencial de la variable aleatoria y devuelve valores en el intervaloecdf(c(-1,0,3,9))(8)
vuelve0.75
. Un inverso generalizado del ECDF es la función cuantil, implementada porquantile
inR
.Siempre me pareció
ecdf()
un poco confuso. Además, creo que solo funciona en el caso univariante. Terminé rodando mi propia función para esto en su lugar.Primero instale data.table . Luego instale mi paquete, mltools (o simplemente copie el método empirical_cdf () en su entorno R).
Entonces es tan fácil como
CDF de un vector
CDF de la columna 'x' de dt
CDF de las columnas 'x' e 'y' de dt
fuente
amigo, puedes leer el código en este blog.
Se pueden encontrar más detalles en el siguiente enlace:
r cdf e histograma
fuente