Участок нормального, левого и правого перекоса распределения в R
Я хочу создать 3 графика для иллюстративных целей:
- нормальное распределение
- правильное перекошенное распределение
- левое перекошенное распределение
Это должна быть простая задача, но я нашел только эту ссылку, которая показывает только нормальное распределение. Как мне сделать остальные?
Ответы
Ответ 1
Наконец, я получил его работу, но с вашей помощью, но я полагался на этот сайт.
N <- 10000
x <- rnbinom(N, 10, .5)
hist(x,
xlim=c(min(x),max(x)), probability=T, nclass=max(x)-min(x)+1,
col='lightblue', xlab=' ', ylab=' ', axes=F,
main='Positive Skewed')
lines(density(x,bw=1), col='red', lwd=3)
![enter image description here]()
Это также допустимое решение:
curve(dbeta(x,8,4),xlim=c(0,1))
title(main="posterior distrobution of p")
Ответ 2
Если вы не слишком привязаны к нормальному состоянию, я предлагаю вам использовать бета-распределение, которое может быть симметричным, перекошенным или перекошенным на основе параметров формы.
hist(rbeta(10000,5,2))
hist(rbeta(10000,2,5))
hist(rbeta(10000,5,5))
Ответ 3
просто используйте пакет fGarch
и эти функции:
dsnorm(x, mean = 0, sd = 1, xi = 1.5, log = FALSE)
psnorm(q, mean = 0, sd = 1, xi = 1.5)
qsnorm(p, mean = 0, sd = 1, xi = 1.5)
rsnorm(n, mean = 0, sd = 1, xi = 1.5)
** среднее значение, sd, xi значение параметра местоположения, параметр масштаба sd, параметр асимметрии xi.
Примеры
## snorm -
# Ranbdom Numbers:
par(mfrow = c(2, 2))
set.seed(1953)
r = rsnorm(n = 1000)
plot(r, type = "l", main = "snorm", col = "steelblue")
# Plot empirical density and compare with true density:
hist(r, n = 25, probability = TRUE, border = "white", col = "steelblue")
box()
x = seq(min(r), max(r), length = 201)
lines(x, dsnorm(x), lwd = 2)
# Plot df and compare with true df:
plot(sort(r), (1:1000/1000), main = "Probability", col = "steelblue",
ylab = "Probability")
lines(x, psnorm(x), lwd = 2)
# Compute quantiles:
round(qsnorm(psnorm(q = seq(-1, 5, by = 1))), digits = 6)