R sample() 函数 - 随机抽样
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)
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)))
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 语言实例