2011-05-13 3 views
0

J'ai une matrice suivante [500,2], nous avons donc 500 lignes et 2 colonnes, la gauche nous donne l'indice de X observations, et la droite donne la probabilité avec laquelle ce X devient réalité, donc - une relation de densité de probabilité typique. Donc, ma question est, comment tracer l'histogramme dans le bon sens, de sorte que l'axe des x est le x-index, et l'axe des y est la densité (0,01-1,00). La bande passante de l'estimateur est 0,33.R question sur le tracé de la probabilité/histogramme densité le droit chemin

Merci d'avance!

la fin de l'ensemble des données ressemble à ceci: juste pour une petite orientation

[490,] 2.338260830 0.04858685 
[491,] 2.347839477 0.04797310 
[492,] 2.357418125 0.04736149 
[493,] 2.366996772 0.04675206 
[494,] 2.376575419 0.04614482 
[495,] 2.386154067 0.04553980 
[496,] 2.395732714 0.04493702 
[497,] 2.405311361 0.04433653 
[498,] 2.414890008 0.04373835 
[499,] 2.424468656 0.04314252 
[500,] 2.434047303 0.04254907 

@everyone, oui, je l'ai fait l'estimation avant, donc .. est ce que la bande passante je l'ai mentionné, la les données sont ordonnées de valeurs faibles à élevées, de sorte que respecivement la probabilité au début est de 0,22, au pic d'environ 0,48, à la fin 0,15.

La ligne avec la densité est tracée comme un charme mais je dois faire en plus est de tracer un histogramme! Alors, comment je peux le faire, en ordonnant les blocs correctement (ho les données à diviser en boîtes etc ..)

Des suggestions?

Voici une partie des données APRÈS l'estimation, toutes les valeurs sont discrètes, donc je suppose que l'histogramme peut être créé .., j'espère.

[491,] 4.956164 0.2618131 
[492,] 4.963014 0.2608723 
[493,] 4.969863 0.2599309 
[494,] 4.976712 0.2589889 
[495,] 4.983562 0.2580464 
[496,] 4.990411 0.2571034 
[497,] 4.997260 0.2561599 
[498,] 5.004110 0.2552159 
[499,] 5.010959 0.2542716 
[500,] 5.017808 0.2533268 
[501,] 5.024658 0.2523817 

Meilleures salutations, apprécient les réponses rapides! (Arc)

Que fera le travail est de créer un histogramme juste pour les indices, les regrouper d'une manière x25/x50 chacun, par exemple ... et calculer la probabilité moyenne pour chaque boîte de 25 ou 50/100/150/200/250 etc ..?

Répondre

1

En supposant que les lignes sont en ordre de la plus petite à la plus haute valeur de x, comme ils semblent être, vous pouvez utiliser la commande de tracé par défaut, le seul changement dont vous avez besoin est le type:

plot(your.data, type = 'l') 

EDIT:

Ok, je ne suis pas sûr que ce soit mieux que la parcelle de densité, mais il peut être fait:

x = dnorm(seq(-1, 1, length = 500)) 
x.bins = rep(1:50, each = 10) 
bars = aggregate(x, by = list(x.bins), FUN = sum)[,2] 
barplot(bars) 

Dans votre cas, remplacez X par les probabilités de la deuxième colonne de votre matrice.

EDIT2:

À la réflexion, cela n'a de sens que si vos 500 lignes représentent des événements discrets. Si elles sont à la place des points le long d'une fonction de distribution continue, les ajouter ensemble comme je l'ai fait est incorrect. Mathématiquement, je ne pense pas que vous puissiez produire la probabilité binned pour une gamme en utilisant seulement quelques points de cette gamme.

+0

@Tyler, cela a fonctionné comme un charme, merci beaucoup, la seule chose que je dois encore faire est de mettre les deux colonnes des données dans un histogramme ensemble, axe-x = observations, axe-y = probabilités/densité. .. –

+0

Ok, j'ai ajouté du code pour faire la deuxième moitié. – Tyler

+0

Salut encore, pour être plus correct, je posterai les valeurs après l'estimation, celles du premier post ne sont que des jetons d'une distribution normale, alors maintenant je vais poster les estimations, qui sont complètement discrètes. éditera ma question dans 2 minutes. –

0

En supposant que M est la matrice. cela ne serait-il pas simplement:

plot(x=M[ , 1], y = M[ , 2]) 

Vous avez déjà fait l'estimation de la densité car ce ne sont pas les données d'origine.

Questions connexes