2017-03-15 3 views
2

Ich versuche ein einfaches Konturdiagramm zu erstellen, ähnlich dem Beispiel here. Es schlägt jedoch mit "Berechnung fehlgeschlagen in stat_contour(): keine ordnungsgemäße 'z' Matrix angegeben".geom_contour und stat_contour fail

library('MASS') 
library('tidyverse') 

eine Gaußsche Dichte erzeugen:

den = kde2d(x = rnorm(10000), y = rnorm(10000), h=.5, n=100) 
zdf = data.frame(den$z) 
colnames(zdf) = den$y 
zdf$x = den$x 

zu Dokumentations Beispiel ähnliche Schmelz:

melted = melt(zdf, id.vars = 'x', variable.name = 'y', value.name='z') 
colnames(melted) 
# [1] "x" "y" "z" 
dim(melted) 
# [1] 10000 3 

ggplot(melted, aes(x, y, z=z)) + stat_contour() 
# Warning message: 
# Computation failed in `stat_contour()`: 
# no proper 'z' matrix specified 

genau formatiert werden die gleichen 'geschmolzen' scheint, als der Vulkan Beispiel mit x als der schnelle Index und ein Eintrag in z für jede eindeutige Kombination von x und y. Ich kann nicht herausfinden, was der Unterschied ist.

Antwort

0

Beim Schmelzen wurden die Spaltennamen Gusstyp in der Y-Spalte auf ganzzahlige fixiert die folgende Zeile Hinzufügen des Problems (obwohl sie immer noch als ob verdoppelt drucken?):

melted$y = as.double(melted$y)