ich steh mal wieder vor einem Problem. Ich habe Wassertemperaturdaten vorliegen und möchte diese jetzt graphisch darstellen. Mein data.frame sieht folgenderweise aus
Code: Alles auswählen
str(d_h2o)
'data.frame': 12531058 obs. of 5 variables:
$ date: chr "20150525" "20150525" "20150525" ...
$ phi : num 18.9 18.9 18.9 18.9 18.9 ...
$ lambda : num 10.750 10.760 10.770 10.780 10.780 ...
$ T_h2o : num 21.1 22.0 21.4 21.9 22.5 ...
$ T_h2o_10m: num 19.4 19.0 18.3 17.9 19.1 ...
Code: Alles auswählen
mittel_t <- aggregate(T_h2o ~ lambda + phi, d_h2o, FUN = mean)
str(mittel_t)
'data.frame': 54326 obs. of 3 variables:
$ lambda : num 10.750 10.760 10.770 10.780 10.780 ...
$ phi: num 18.9 18.9 18.9 18.9 18.9 ...
$ T_h2o : num 14 13.5 16.5 10.5 10.5 20 10.5 10 11 15 ...
##Matrix erstellen
M_Th2o <- xtabs(T_h2o ~ lambda + phi, data = mittel_t)
### plotten
xax <- as.numeric(dimnames(M_Th2o)$lambda)
yax <- as.numeric(dimnames(M_Th2o)$phi)
image.plot(xax, yax, M_Th2o, col=topo.colors(64))
Soweit so gut. Jetzt liegen die Werte allerdings nur an den Koordinaten vor, wo auch Meere/Ozeane sind. wenn ich mir jetzt einen Ausschnitt über Land definiere, bekomme ich folgendes Ergebnis:
Code: Alles auswählen
d_land <- subset(d_h2o, lambda >= 25.000 & lambda <= 28.000 & phi >= 40 & phi <= 48)
str(d_land)
'data.frame': 0 obs. of 5 variables:
$ date: chr
$ phi : num
$ lambda : num
$ T_h2o : num
$ T_h2o_10m: num
Hier meine Frage: gibt es eine Möglichkeit, alle "Land"-Bereiche die keine Werte aufweisen in der Graphik weiß erscheinen zu lassen, ohne das der Farbe ein Wert zugeordnet wird?
Der Wert 0 kommt in den Daten auch vor und zwar dann, wenn eine Eisoberfläche vorhanden ist, also kann ich nicht alle Nullwerte gleich verwerfen.
Vielen Dank für euren Tipps.
Grüße
Jessi