Як побудувати логарифмічний нормальний розподіл у r
Щоб побудувати графік функції щільності ймовірності для логарифмічного нормального розподілу в R, ми можемо використовувати такі функції:
- dlnorm(x, meanlog = 0, sdlog = 1) , щоб створити функцію щільності ймовірності.
- curve(function, from = NULL, to = NULL) , щоб побудувати графік функції щільності ймовірності.
Наприклад, наведений нижче код ілюструє, як побудувати функцію щільності ймовірності для логарифмічного нормального розподілу із середнім значенням = 0 і стандартним відхиленням = 1 (у логарифмічній шкалі), де вісь х на графіку проходить від 0 до 10:
curve(dlnorm(x, meanlog=0, sdlog=1), from=0, to=10)
За замовчуванням meanlog = 0 і sdlog =1, що означає, що ми можемо створювати той самий графік, не вказуючи ці параметри у функції dlnorm() :
curve(dlnorm(x), from=0, to=10)
Ми можемо додати заголовок, змінити мітку осі Y, збільшити ширину рядка та навіть змінити колір рядка, щоб зробити сюжет більш естетично привабливим:
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
Ми також можемо додати кілька кривих до графіка, щоб порівняти логарифмічні нормальні розподіли з різними стандартними відхиленнями. Наприклад, наступний код створює графіки нормального розподілу з sdlog = 0,3, sdlog = 0,5 і 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() , яка має такий синтаксис:
легенда (x, y=NULL, легенда, заливка, стовпець, bg, lty, cex)
золото:
- x, y: координати x і y, які використовуються для розміщення легенди
- легенда: текст, який потрібно додати до легенди
- fill: колір заливки всередині легенди
- col: список кольорів для ліній у легенді
- bg: колір фону легенди
- lty: стиль лінії
- cex: розмір тексту в легенді
У нашому прикладі ми використаємо такий синтаксис для створення легенди:
#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)