J'ai besoin de calculer la fonction de distribution cumulative d'un échantillon de données.
Y a-t-il quelque chose de similaire à hist () dans R qui mesure la fonction de densité cumulative?
J'ai essayé ecdf () mais je ne comprends pas la logique.
r
distributions
cdf
emanuele
la source
la source
x
écrivez simplementP(x)
. Notez que celax
peut être un vecteur (voir les dernières phrases de ma réponse.)Ce dont vous semblez avoir besoin, c'est d'obtenir la distribution cumulée (probabilité d'obtenir une valeur <= que x sur un échantillon), ecdf vous renvoie une fonction, mais elle semble être faite pour le traçage, et donc, l'argument de cette fonction , s'il s'agissait d'un escalier, serait l'indice de la marche.
Vous pouvez utiliser ceci:
Malheureusement, l'utilisation de cette fonction n'est pas très rapide. Je ne sais pas si R a une fonction qui fait cela, vous renvoyant une fonction, ce serait plus efficace.
la source
R
ecdf(c(-1,0,3,9))(8)
0.75
quantile
R
J'ai toujours trouvé
ecdf()
un peu déroutant. De plus, je pense que cela ne fonctionne que dans le cas univarié. A fini par rouler ma propre fonction pour cela à la place.Installez d'abord data.table . Installez ensuite mon package, mltools (ou copiez simplement la méthode empirical_cdf () dans votre environnement R.)
C'est aussi simple que
CDF d'un vecteur
CDF de la colonne 'x' de dt
CDF des colonnes 'x' et 'y' de dt
la source
ami, vous pouvez lire le code sur ce blog.
plus de détails peuvent être trouvés sur le lien suivant:
r cdf et histogramme
la source