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)

Teken een normale verdelingsplot in R

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 

Log normale distributieplot met titel in R

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) 

Meerdere lognormale dichtheidsfuncties in een plot in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert