2013-05-07 1 views
0

J'ai une donnée composée de valeurs simulées. L'ensemble de données est une matrice 95 * 525 et ci-dessous j'ai imprimé un petit échantillon des données.Plusieurs colonnes dans la densité du noyau et le tracer combiné avec un autre graphique

0.01076  0.01076  0.01076  0.01076  0.01076 
0.0105259 0.010586823 0.010968957 0.010919492 0.010685372 
0.010461666 0.010271274 0.01124356 0.010362122 0.010699493 
0.010621132 0.009699747 0.01143447 0.010169863 0.010920117 
0.01090401 0.009537089 0.011461832 0.010613986 0.010964597 
0.010876345 0.008634657 0.011353565 0.0111837 0.010456199 
0.010245947 0.009195114 0.012275926 0.011230311 0.010093507 
0.010056854 0.009557125 0.01199076 0.010158304 0.009759821 
0.008903207 0.009537452 0.011057318 0.010154896 0.00985161 
0.008249492 0.010232035 0.01133204 0.009719779 0.00995871 
0.006726547 0.010441961 0.010392739 0.009166036 0.01043827 
0.007159706 0.010254763 0.009552638 0.009371703 0.010261791 
0.007692135 0.01099915 0.009913062 0.008190215 0.009553324 

Pour tracer la densité du noyau que j'ai téléchargé le package KernSmooth, qui fonctionne très bien. Cependant, je voudrais créer un plot de densité de noyau qui inclut toutes mes simulations. C'est-à-dire que je voudrais tracer une densité de noyau pour 95 colonnes, au lieu d'une densité de noyau constituée d'une seule colonne.

Le code que je l'ai utilisé pour obtenir un noyau de colonne est la suivante

> kernel=bkde(cir[,1]) 
> plot(kernel, type="l") 

Si je fais abstraction de la [1] pour faire inclure toutes les colonnes, je reçois une erreur.

En outre, j'ai tracé les différents chemins pour mes valeurs simulées dans un graphique. Ce que je voudrais faire ensuite est de faire pivoter le graphe de densité du noyau de 90 degrés puis de le combiner et la fin de ma trajectoire de simulation.Si mon explication de ce qui est diffuse, je peux essayer de fournir une image à titre d'exemple.

Répondre

0

Utilisez

kernel <- bkde(as.vector(cir)) 

pour obtenir l'estimation de la densité du noyau de toutes vos données.

Pour faire pivoter des graphiques de 90 degrés, échanger simplement les x et y coordonnées dans la commande plot, comme par exemple dans

x <- seq(-3,3,.1) 
plot(x, dnorm(x)) 
plot(dnorm(x), x) 

espoir qui aide. Lorsque j'utilise la commande as.vector, j'obtiens l'erreur suivante:

+0

Erreur dans Linbin (x, gpoints, tronquer): objet (liste) ne peut pas être contraint de taper 'double' En outre: un message d'avertissement: Dans sqrt (var (x)): NaN produit – user2182066

+0

> classe (cir) [1] "data.frame" > typeof (cir) [1] "liste" – user2182066

+0

Nous vous remercions de votre réponse. Lorsque j'utilise la commande que vous avez suggérée, j'obtiens un graphe du noyau mais les axes Y et X sont inversés. Savez-vous pourquoi R interprète la commande comme ça pour mes données? – user2182066

Questions connexes