Jak wykreślić rozkład logarytmiczno-normalny w r
Aby wykreślić funkcję gęstości prawdopodobieństwa dla rozkładu logarytmiczno-normalnego w R, możemy skorzystać z następujących funkcji:
- dlnorm(x, meanlog = 0, sdlog = 1) , aby utworzyć funkcję gęstości prawdopodobieństwa.
- krzywa(funkcja, od = NULL, do = NULL), aby wykreślić funkcję gęstości prawdopodobieństwa.
Na przykład poniższy kod ilustruje sposób wykreślenia funkcji gęstości prawdopodobieństwa dla rozkładu lognormalnego ze średnią = 0 i odchyleniem standardowym = 1 (w skali logarytmicznej), gdzie oś x wykresu przechodzi od 0 do 10:
curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10)
Domyślnie meanlog = 0 i sdlog =1, co oznacza, że możemy wygenerować dokładnie ten sam wykres bez podawania tych parametrów w funkcji dlnorm() :
curve(dlnorm(x), from=0, to=10)
Możemy dodać tytuł, zmienić etykietę osi Y, zwiększyć szerokość wiersza, a nawet zmienić kolor wiersza, aby wykres był bardziej estetyczny:
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
Możemy także dodać do wykresu wiele krzywych, aby porównać rozkłady logarytmiczno-normalne z różnymi odchyleniami standardowymi. Na przykład poniższy kod tworzy wykresy rozkładu normalnego z sdlog = 0,3, sdlog = 0,5 i 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)
Legendę do wykresu możemy dodać za pomocą funkcji legend() , która przyjmuje następującą składnię:
legenda(x, y=NULL, legenda, wypełnienie, col, bg, lty, cex)
Złoto:
- x, y: współrzędne x i y użyte do umiejscowienia legendy
- legenda: tekst, który należy umieścić w legendzie
- fill: kolor wypełnienia legendy
- col: lista kolorów linii wewnątrz legendy
- bg: kolor tła legendy
- lty: styl linii
- cex: rozmiar tekstu w legendzie
W naszym przykładzie użyjemy następującej składni do utworzenia legendy:
#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)