Untitled
unknown
r
2 years ago
1.5 kB
5
Indexable
# "d" + tên phân phối: probability density function (pdf) # "p" + tên phân phối: cummulative density function (cdf) # "q" + tên phân phối: quatile : phân vị mức q # "r" + tên phân phối: tạo random sample ?rnorm dunif() punif(seq(0, 1, by=0.25)) runif(100) x <- seq(-5, 5, by=0.1) x plot(x, dnorm(x, 0, 1), col="blue", type="l", lwq=2, lty=2) # lty là line type, lwd là line width ?abline abline(v=0, col="red", lty=2) # thêm dòng vô cho plot z <- function() runif(1) z() # Mô phỏng đồng xu throw.coin <- function() { x <- runif(1) if (x <= 1/2) 0 else 1 } throw.coin() # Tung đồng xu n lần ?replicate Sample.coin <- function(n) replicate(n, throw.coin()) Sample.coin(10) x <- Sample.coin(10000) table(x) # Tần suất table(x) / length(x) ?runif # Mô phỏng xúc xắc throw.dice <- function() { x <- runif(1) if (x <= 1/6) 1 else if (x <= 2/6) 2 else if (x <= 3/6) 3 else if (x <= 4/6) 4 else if (x <= 5/6) 5 else 6 } throw.dice() # Các phân phối xác suất thông dụng ## Nếu X ~ N(0, 1) thì X^2 ~ ChiSquare(1) n <- 10000 x <- rnorm(n) y <- x^2 hist(y, freq=0, breaks=40) curve(dchisq(x, df=1), col="red", add = TRUE) ?curve ?hist m1 <- 10 m2 <- 20 sample.x <- rchisq(n ,m1) sample.y <- rchisq(n ,m2) hist(sample.x + sample.y, freq=0, breaks=40) curve(dchisq(x, df=m1+m2), col="red", add=TRUE) mu <- 10 sigma <- 4 p <- 0.9 a <- qnorm((1-p)/2, mean=mu, sd=sigma) b <- qnorm((1+p)/2, mean=mu, sd=sigma) khoang <- c(a, b) khoang
Editor is loading...