现在位置: 首页 > R 教程 > 正文

R runif() 函数 - 生成均匀分布随机数

R 语言实例 R 语言实例

R runif() 函数用于生成服从均匀分布的随机数。

均匀分布是指在指定区间内每个值出现的概率相等。在随机抽样和模拟实验中经常作为基础分布使用。

runif() 函数语法格式如下:

runif(n, min = 0, max = 1)

参数说明:

  • n 生成随机数的个数。

  • min 最小值,默认为 0。

  • max 最大值,默认为 1。

实例

# 生成 10 个 [0, 1] 区间的均匀分布随机数
set.seed(123)
random_01 <- runif(10)
print("[0, 1] 区间随机数:")
print(round(random_01, 4))

# 生成 [10, 50] 区间的随机数
set.seed(123)
random_range <- runif(10, min = 10, max = 50)
print("[10, 50] 区间随机数:")
print(round(random_range, 2))

执行以上代码输出结果为:

[1] "[0, 1] 区间随机数:"
 [1] 0.2876 0.7883 0.4090 0.8830 0.9405 0.0456 0.5281
 [8] 0.8924 0.5519 0.4566
[1] "[10, 50] 区间随机数:"
 [1] 21.50 41.53 26.36 45.32 47.62 11.82 31.12 45.70
 [9] 32.08 28.26

runif() 在蒙特卡洛模拟中非常有用:

实例

# 用蒙特卡洛方法估算 pi 值
set.seed(123)
n <- 10000

# 生成随机点
x <- runif(n)
y <- runif(n)

# 计算落入单位圆内的比例
inside <- (x^2 + y^2) <= 1
pi_estimate <- 4 * mean(inside)
print(paste("估算的 pi 值:", round(pi_estimate, 4)))
print(paste("实际的 pi 值:", pi))

执行以上代码输出结果为:

[1] "估算的 pi 值: 3.156"
[1] "实际的 pi 值: 3.14159265358979"

R 语言实例 R 语言实例