Hoe een lognormale verdeling in r te plotten
Om de kansdichtheidsfunctie voor een lognormale verdeling in R uit te zetten, kunnen we de volgende functies gebruiken:
- dlnorm(x, meanlog = 0, sdlog = 1) om de kansdichtheidsfunctie te creëren.
- curve(functie, van = NULL, tot = NULL) om de kansdichtheidsfunctie uit te zetten.
De volgende code illustreert bijvoorbeeld hoe u een waarschijnlijkheidsdichtheidsfunctie kunt plotten voor een lognormale verdeling met gemiddelde = 0 en standaarddeviatie = 1 (op een logaritmische schaal), waarbij de x-as van de grafiek van 0 naar 10 gaat:
curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10)
Standaard zijn meanlog = 0 en sdlog =1, wat betekent dat we exact dezelfde plot kunnen produceren zonder deze parameters op te geven in de dlnorm() functie:
curve(dlnorm(x), from=0, to=10)
We kunnen een titel toevoegen, het label op de Y-as wijzigen, de rijbreedte vergroten en zelfs de rijkleur wijzigen om de plot esthetisch aantrekkelijker te maken:
curve(dlnorm(x), from=0, to=10, main = 'Log Normal Distribution', #add title ylab = 'Density', #change y-axis label lwd = 2, #increase line width to 2 col = 'steelblue') #change line color to steelblue
We kunnen ook meerdere curven aan de grafiek toevoegen om lognormale verdelingen met verschillende standaarddeviaties te vergelijken. Met de volgende code worden bijvoorbeeld normale distributieplots gemaakt met sdlog = 0,3, sdlog = 0,5 en sdlog = 1:
curve(dlnorm(x, meanlog=0, sdlog=.3), from=0, to=10, col='blue') curve(dlnorm(x, meanlog=0, sdlog=.5), from=0, to=10, col='red', add=TRUE) curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10, col='purple', add=TRUE)
We kunnen een legenda aan de plot toevoegen met behulp van de legend()- functie, die de volgende syntaxis heeft:
legenda(x, y=NULL, legenda, fill, col, bg, lty, cex)
Goud:
- x, y: de x- en y-coördinaten die worden gebruikt om de legenda te positioneren
- legenda: de tekst die in de legenda moet worden geplaatst
- vulling: vulkleur binnen de legenda
- col: de lijst met kleuren die moeten worden gebruikt voor de lijnen in de legenda
- bg: de achtergrondkleur van de legenda
- lty: lijnstijl
- cex: grootte van de tekst in de legenda
In ons voorbeeld gebruiken we de volgende syntaxis om een legenda te maken:
#create density plots curve(dlnorm(x, meanlog=0, sdlog=.3), from=0, to=10, col='blue') curve(dlnorm(x, meanlog=0, sdlog=.5), from=0, to=10, col='red', add=TRUE) curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10, col='purple', add=TRUE) #add legend legend(6, 1.2, legend=c("sdlog=.3", "sdlog=.5", "sdlog=1"), col=c("blue", "red", "purple"), lty=1, cex=1.2)