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

R sample() 函数 - 随机抽样

R 语言实例 R 语言实例

R sample() 函数用于从向量中随机抽取元素。

sample() 可以模拟放回抽样、不放回抽样以及随机洗牌,在数据采样和实验设计中广泛使用。

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

sample(x, size, replace = FALSE, prob = NULL)

参数说明:

  • x 待抽样的向量。

  • size 抽取的元素个数。

  • replace 是否放回抽样,默认 FALSE(不放回)。

  • prob 可选,每个元素的抽样概率权重。

实例

# 从 1 到 100 中随机抽取 10 个(不放回,常用于随机抽奖)
set.seed(123)
winners <- sample(1:100, size = 10)
print("中奖号码:")
print(winners)

# 放回抽样(每次独立,可能重复)
set.seed(123)
dice_rolls <- sample(1:6, size = 10, replace = TRUE)
print("掷 10 次骰子:")
print(dice_rolls)

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

[1] "中奖号码:"
 [1] 31 79 51 14 67 42 50 43 97 25
[1] "掷 10 次骰子:"
 [1] 6 1 4 2 2 1 4 5 5 1

通过 prob 参数可以设置不等的抽样概率:

实例

# 模拟不均衡的硬币(正面概率 0.7,反面 0.3)
set.seed(123)
biased_coin <- sample(c("正面", "反面"), size = 100,
                      replace = TRUE, prob = c(0.7, 0.3))
print("100 次有偏硬币结果比例:")
print(prop.table(table(biased_coin)))

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

[1] "100 次有偏硬币结果比例:"
反面 正面
0.27 0.73

R 语言实例 R 语言实例