Come tracciare una distribuzione logaritmica normale in r
Per tracciare la funzione di densità di probabilità per una distribuzione lognormale in R, possiamo utilizzare le seguenti funzioni:
- dlnorm(x, meanlog = 0, sdlog = 1) per creare la funzione di densità di probabilità.
- curve(funzione, da = NULL, a = NULL) per tracciare la funzione di densità di probabilità.
Ad esempio, il codice seguente illustra come tracciare una funzione di densità di probabilità per una distribuzione lognormale con media = 0 e deviazione standard = 1 (su scala logaritmica) dove l’asse x del grafico va da 0 a 10:
curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10)
Per impostazione predefinita, meanlog = 0 e sdlog =1, il che significa che possiamo produrre esattamente lo stesso grafico senza specificare questi parametri nella funzione dlnorm() :
curve(dlnorm(x), from=0, to=10)
Possiamo aggiungere un titolo, modificare l’etichetta dell’asse Y, aumentare la larghezza della riga e persino cambiare il colore della riga per rendere la trama esteticamente più gradevole:
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
Possiamo anche aggiungere più curve al grafico per confrontare le distribuzioni lognormali con diverse deviazioni standard. Ad esempio, il codice seguente crea grafici di distribuzione normale con sdlog = 0,3, sdlog = 0,5 e 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)
Possiamo aggiungere una legenda alla trama utilizzando la funzione legend() , che accetta la seguente sintassi:
legend(x, y=NULL, legend, fill, col, bg, lty, cex)
Oro:
- x, y: le coordinate xey utilizzate per posizionare la legenda
- legenda: il testo da inserire nella legenda
- fill: colore di riempimento all’interno della legenda
- col: l’elenco dei colori da utilizzare per le righe all’interno della legenda
- bg: il colore di sfondo della legenda
- lty: stile della linea
- cex: dimensione del testo nella legenda
Nel nostro esempio utilizzeremo la seguente sintassi per creare una legenda:
#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)