统计学概念
抽样是最基础的统计学概念,sample() 可以实现简单的随机抽样。
选项参数按字面理解,设置取样数和是否放回。
x <- 1:10
sample(x, size = 5, replace = TRUE)随机数种子
随机数种子是用于初始化伪随机数生成器的数值。在R中,通过 set.seed() 函数设置种子后,后续的随机抽样(如 sample())会产生可重复的相同结果。这在需要复现随机过程(如数据分析、模拟实验)时非常有用。
一个随机数种子,对应一个随机抽样结果。
set.seed(123)
sample(x, size = 5)二维数据抽样
二维数据的抽样需要对行列分别处理,本质依旧是索引。
以随机抽选行为例:
- 计算行数
- 随机抽样得到行索引
- 根据抽样结果索引
y <- nrow(mtcars) #获取数列
mtcars[sample(1:y, size = 5), ] #抽样,索引实例:将二维数据利用随机抽样进行拆分
使用随机抽样将 iris 数据集拆分为训练集(70%)和验证集(30%)。
iris_train <- iris[sample(1:nrow(iris), size = nrow(iris)*0.7) , ]
filt <- as.integer(row.names(iris_train))
iris_validate <- iris[- filt, ]注意其中涉及到的:
- 随机抽样
- 数据类型转换(字符形式的行名转换为可以进行索引的整型向量)
- 向量的负索引