在R中,unif是用来进行均匀分布分析的,在其前面加上不同的前缀表示不同的函数,各函数的使用格式如下所示:
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) # 随机数产生函数
# 生成3个从0到1区间范围内的服从正态分布的随机数
runif(3)
# 1000 个[10,100]的服从正态分布的随机数
k <- 1000
x1 <- runif(k,10,100)
# 密度函数f(x) = 1/(max-min) for min ≤ x ≤ max
dunif(0.1) # 1
dunif(2) # 0,超过范围!
dunif(2,0,10) # 0.1
x <-runif(100)
plot(x,dunif(x))
##设电阻R是随机变量,其值均匀分布在900Ω~1100Ω。
a <- 900
b <- 1100
# 随机生成5个符合该均匀分布的随机电阻值
runif(5, a, b)
p <- punif(950, a, b)
# 计算概率密度
f <- dunif(900, a, b)
cat("概率密度为:", f, "\n")
# 电阻不超过950欧姆的概率
p <- punif(950, a, b)
cat("电阻不超过950欧姆的概率为:", p, "\n")
# 电阻超过950欧姆的概率
p <- 1 - punif(950, a, b)
p <- punif(950, a, b,lower.tail = FALSE)
cat("电阻超过950欧姆的概率为:", p, "\n")
# 90%概率下,电阻值最大为多少
R <- qunif(0.9, a, b)
cat("90%概率下,电阻值最大为:", R, "\n")