R语言 连续均匀分布
连续均匀分布也被称为从定义在区间a和b之间的连续区间中选择任何随机数的概率分布。因此,它的图形是一个矩形,因此它通常被称为矩形分布。这里我们将讨论各种函数以及在哪些情况下应使用这些函数来获得所需的概率。
对于均匀分布,我们首先需要一个在两个数字之间随机创建的序列。R编程语言中的runif()函数被用来生成一个遵循均匀分布的随机序列。
语法
runif(n, min = 0, max = 1)
参数
- n= 随机样本的数量
- min=最小值(默认为0)
- max=最大值(默认为1)
例子
print("Random 15 numbers between 1 and 3")
runif(15, min=1, max=3)
输出
[1] “Random 15 numbers between 1 and 3”
[1] 1.534 1.772 1.027 1.765 2.739 1.681 1.964 2.199 1.987 1.372 2.655 2.337 2.588 1.216 2.447
概率的四分位数
qunif()方法是用来计算给定 的均匀分布的任何概率(p)的相应量化。要使用这个方法,只需用所需的参数来调用该函数。
语法
qunif(p, min = 0, max = 1)
参数:
- p – 概率的向量
- min , max – 用于计算量化函数的极限值
例1 :
min <- 0
max <- 40
print ("Quantile Function Value")
# calculating the quantile function value
qunif(0.2, min = min, max = max)
输出
[1] “Quantile Function Value”
[1] 8
x值可以用R中的seq()方法以向量序列的形式指定,可以计算出相应的y位置。
例2 :
min <- 0
max <- 1
# Specify x-values for qunif function
xpos <- seq(min, max , by = 0.02)
# supplying corresponding y coordinations
ypos <- qunif(xpos, min = 10, max = 100)
# plotting the graph
plot(ypos)
输出

概率密度函数
R编程语言中的dunif()方法被用来生成密度函数。它在R语言中计算指定区间(a, b)的均匀密度函数。
语法
dunif(x, min = 0, max = 1, log = FALSE)
参数
- x:输入序列
- min, max=值的范围
- log:指标,是否将输出值显示为概率。
产生的结果将是对区间的每个值。因此,将生成一个序列。
例1 :
# generating a sequence of values
x <- 5:10
print ("dunif value")
# calculating density function
dunif(x, min = 1, max = 20)
输出
[1] “dunif value”
[1] 0.05263158 0.05263158 0.05263158 0.05263158 0.05263158 0.05263158
所有的值都是相等的,这就是为什么它被称为均匀分布的原因。让我们把它画出来,以便更好地了解情况。
例2 :
min <- 0
max <- 100
# Specify x-values for qunif function
xpos <- seq(min, max , by = 0.5)
# supplying corresponding y coordinations
ypos <- dunif(xpos, min = 10, max = 80)
# plotting the graph
plot(ypos , type="o")
输出

累积概率分布
R中的punif()方法是用来计算均匀累积分布函数的,也就是一个变量X取值低于x的概率(即x <= X)。如果我们需要计算一个x > X的值,我们可以计算1 – punif(x)。
语法
punif(q, min = 0, max = 1, lower.tail = TRUE)
所有满足比较条件的独立概率将被加上。
例子
min <- 0
max <- 60
# calculating punif value
punif (15 , min =min , max = max)
输出
[1] 0.25
例子
min <- 0
max <- 60
# calculating punif value
punif (15 , min =min , max = max, lower.tail=FALSE)
输出
[1] 0.75
极客教程