Как построить логнормальное распределение в r
Чтобы построить функцию плотности вероятности для логарифмически нормального распределения в R, мы можем использовать следующие функции:
- dlnorm(x, meanlog = 0, sdlog = 1) для создания функции плотности вероятности.
- кривая(функция, from = NULL, to = NULL) для построения функции плотности вероятности.
Например, следующий код показывает, как построить график функции плотности вероятности для логарифмически нормального распределения со средним значением = 0 и стандартным отклонением = 1 (в логарифмическом масштабе), где ось X графика изменяется от 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, легенда, заливка, столбец, фон, 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)