原文位址:[整理] 利用R生成随機分布的方法 作者:周庭銳教授 [整理] 利用R生成随機分布的方法 文/周庭銳
夜裡複習各種統計分布的模拟、拟合、驗證的R程式設計,順手整理一下。 (不懂怎麼一回事,剛剛貼上了,然後一轉眼就消失了。新浪部落格裡鬧鬼?)
d: density p: distribution function q: quantile function r: random deviates
rexpThe Exponential Distribution dexp(x, rate = 1, log = FALSE) pexp(q, rate = 1, lower.tail = TRUE, log.p = FALSE) qexp(p, rate = 1, lower.tail = TRUE, log.p = FALSE) rexp(n, rate = 1)
rfThe F Distribution df(x, df1, df2, ncp, log = FALSE) pf(q, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE) qf(p, df1, df2, ncp, lower.tail = TRUE, log.p = FALSE) rf(n, df1, df2, ncp)
rgammaThe Gamma Distribution dgamma(x, shape, rate = 1, scale = 1/rate, log = FALSE) pgamma(q, shape, rate = 1, scale = 1/rate, lower.tail = TRUE, log.p = FALSE) qgamma(p, shape, rate = 1, scale = 1/rate, lower.tail = TRUE, log.p = FALSE) rgamma(n, shape, rate = 1, scale = 1/rate)
rgeomThe Geometric Distribution dgeom(x, prob, log = FALSE) pgeom(q, prob, lower.tail = TRUE, log.p = FALSE) qgeom(p, prob, lower.tail = TRUE, log.p = FALSE) rgeom(n, prob)
rhyperThe Hypergeometric Distribution dhyper(x, m, n, k, log = FALSE) phyper(q, m, n, k, lower.tail = TRUE, log.p = FALSE) qhyper(p, m, n, k, lower.tail = TRUE, log.p = FALSE) rhyper(nn, m, n, k)
rlnormThe Log Normal Distribution dlnorm(x, meanlog = 0, sdlog = 1, log = FALSE) plnorm(q, meanlog = 0, sdlog = 1, lower.tail = TRUE, log.p = FALSE) qlnorm(p, meanlog = 0, sdlog = 1, lower.tail = TRUE, log.p = FALSE) rlnorm(n, meanlog = 0, sdlog = 1)
rlogisThe Logistic Distribution dlogis(x, location = 0, scale = 1, log = FALSE) plogis(q, location = 0, scale = 1, lower.tail = TRUE, log.p = FALSE) qlogis(p, location = 0, scale = 1, lower.tail = TRUE, log.p = FALSE) rlogis(n, location = 0, scale = 1)
rmultinomThe Multinomial Distribution rmultinom(n, size, prob) dmultinom(x, size = NULL, prob, log = FALSE)
rnbinomThe Negative Binomial Distribution dnbinom(x, size, prob, mu, log = FALSE) pnbinom(q, size, prob, mu, lower.tail = TRUE, log.p = FALSE) qnbinom(p, size, prob, mu, lower.tail = TRUE, log.p = FALSE) rnbinom(n, size, prob, mu)
rnormThe Normal Distribution dnorm(x, mean = 0, sd = 1, log = FALSE) pnorm(q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE) qnorm(p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE) rnorm(n, mean = 0, sd = 1)
rpoisThe Poisson Distribution dpois(x, lambda, log = FALSE) ppois(q, lambda, lower.tail = TRUE, log.p = FALSE) qpois(p, lambda, lower.tail = TRUE, log.p = FALSE) rpois(n, lambda)
rsignrankDistribution of the Wilcoxon Signed Rank Statistic dsignrank(x, n, log = FALSE) psignrank(q, n, lower.tail = TRUE, log.p = FALSE) qsignrank(p, n, lower.tail = TRUE, log.p = FALSE) rsignrank(nn, n)
rtThe Student t Distribution dt(x, df, ncp, log = FALSE) pt(q, df, ncp, lower.tail = TRUE, log.p = FALSE) qt(p, df, ncp, lower.tail = TRUE, log.p = FALSE) rt(n, df, ncp)
runifThe Uniform Distribution dunif(x, min=0, max=1, log = FALSE) punif(q, min=0, max=1, lower.tail = TRUE, log.p = FALSE) qunif(p, min=0, max=1, lower.tail = TRUE, log.p = FALSE) runif(n, min=0, max=1)
rweibullThe Weibull Distribution dweibull(x, shape, scale = 1, log = FALSE) pweibull(q, shape, scale = 1, lower.tail = TRUE, log.p = FALSE) qweibull(p, shape, scale = 1, lower.tail = TRUE, log.p = FALSE) rweibull(n, shape, scale = 1)
rwilcoxDistribution of the Wilcoxon Rank Sum Statistic dwilcox(x, m, n, log = FALSE) pwilcox(q, m, n, lower.tail = TRUE, log.p = FALSE) qwilcox(p, m, n, lower.tail = TRUE, log.p = FALSE) rwilcox(nn, m, n)
sampleThe Discrete Uniform Distribution sample(x, size, replace = FALSE, prob = NULL) sample.int(n, size = n, replace = FALSE, prob = NULL)
拟合:連續型變量: 大樣本:Kolmogorov-Smirnov檢驗 ks.test(x, y, ..., alternative = c("two.sided", "less", "greater"), exact = NULL) 小樣本:Shapiro-Wilk檢驗 shapiro.test(x)
離散型變量:方差齊次性檢驗 fligner.test(x, ...) ## Default S3 method: fligner.test(x, g, ...) ## S3 method for class 'formula' fligner.test(formula, data, subset, na.action, ...) 或 mood.test(x, ...) ## Default S3 method: mood.test(x, y, alternative = c("two.sided", "less", "greater"), ...) ## S3 method for class 'formula' mood.test(formula, data, subset, na.action, ...)