在R中使用srswor函数时如何指定总体大小并抽取无放回随机样本
无放回简单随机抽样的R实现方案
用srswor()函数(survey包)的方法
- 首先加载依赖的survey包:
library(survey)
- 明确参数:
n:目标样本量,这里填10N:总体个体总数,也就是你的数据总行数70
- 生成抽样指示向量(1代表被抽中,0代表未被抽中):
sample_indicator <- srswor(n = 10, N = 70)
- 从原始数据(假设你的数据集名为
raw_data)中提取子数据集:
sampled_data <- raw_data[sample_indicator == 1, ]
基础R替代方案(无需额外包)
如果不想加载survey包,用基础R的sample()函数更直接:
# 直接抽取10个不重复的行索引 selected_rows <- sample(x = 1:nrow(raw_data), size = 10, replace = FALSE) # 提取子数据集 sampled_data <- raw_data[selected_rows, ]
内容的提问来源于stack exchange,提问作者engineeringbsc
相关产品推荐
相关产品推荐

