Wereldkaartplot met lengte- en breedtegraadpunten

Ik probeer een wereldkaart te maken van specifieke meren (lat en lang) en de punten verder te differentiëren volgens de twee variabelen (Model voor kleur en Grootte voor Totaal), met als doel om uiteindelijk een soort van bellendiagram over een wereldkaart.

Zo zien mijn gegevens (WD) eruit (data.frame)

WD <- read.csv(file.choose(), header = TRUE)
head(WD)
    Country                Lake        Lat       Long Model Total
1       USA         Annie, lake  27.994549 -81.604644    PB     0
2       USA         Annie, lake  27.994549 -81.604644    DD     1
3 Australia   Baroon, reservoir -26.706919 152.870361    PB     0
4 Australia   Baroon, reservoir -26.706919 152.870361    DD     2
5   England Bassenthwaite, lake    54.6525  -3.225833    PB     3
6   England Bassenthwaite, lake    54.6525  -3.225833    DD     0

Ik heb de wereldkaart gedownload met

library("ggmap")
library(maptools)
library(maps)
mapWorld <- borders("world", colour="gray50", fill="white")

het plotten van de kaart zonder punten is oké

mp <- ggplot() + mapWorld

dan probeer ik de punten toe te voegen door

mp <- mp+ geom_point(data=WD, aes(x=Long, y=Lat) ,color=WD$Model,alpha=0.5, size=WD$Total)

maar wanneer ik mp probeer te plotten, verschijnt de onderstaande fout en ik weet niet hoe ik dit moet oplossen

Error: Discrete value supplied to continuous scale

Antwoord 1, autoriteit 100%

Zonder je gegevens waren er een paar dingen die me opvielen. In je geom_point-laag denk ik dat je maat en kleur binnen de aes() moeten staan, zoals zo:

mp + geom_point(data = WD, aes(x = Long, y = Lat, color = Model, size = Total), alpha = 0.5)

Dat zijn misschien niet de enige problemen, en het is meestal een goed idee om te beginnen met de basis van een ggplot-laag en te kijken of dat werkt, en dan pas op de hoogte te worden gebracht van de kleur en grootte. Dat kan helpen om vast te stellen waar het probleem zit. Dus in jouw geval, probeer gewoon of het eerst met de Lat en Long zal plotten.

Ik zou ook willen voorstellen om te controleren of je geen NA’s in je gegevens hebt en dat de dataframe-vectoren de juiste klasse zijn voor elke plek waar je het probeert in te pluggen (factor, karakter, numeriek, enz… ). Elk van die problemen heeft me op een of ander moment veel tijd verspild…

Veel succes!


Antwoord 2

bedankt voor de tips. Ik ontdekte dat een van de variabelen een factor was, maar zelfs nadat dit was gecorrigeerd, bleef het probleem bestaan. Dus ik herstartte R meerdere keren en het werkte op magische wijze

Other episodes