如何在 r 中选择随机样本:示例
要在R中选择随机样本,我们可以使用sample()函数,它使用以下语法:
样本(x,大小,替换=FALSE,概率=NULL)
金子:
- x:可供选择的元素向量。
- 大小:样本大小。
- Replace:是否进行替换采样。默认值为 false。
- prob:从向量中获取元素的概率权重向量。默认值为 NULL。
本教程介绍如何使用此函数在 R 中从向量和数据框中选择随机样本。
示例 1:向量中的随机样本
以下代码演示了如何从向量中选择随机样本而不进行放回:
#create vector of data data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14) #select random sample of 5 elements without replacement sample(x=data, size=5) [1] 10 12 5 14 7
以下代码显示了如何从带有替换的向量中选择随机样本:
#create vector of data data <- c(1, 3, 5, 6, 7, 8, 10, 11, 12, 14) #select random sample of 5 elements with replacement sample(x=data, size=5, replace= TRUE ) [1] 12 1 1 6 14
示例 2:从数据块中随机采样
以下代码展示了如何从数据框中选择随机样本:
#create data frame df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14), y=c(12, 6, 4, 23, 25, 8, 9), z=c(2, 7, 8, 8, 15, 17, 29)) #view data frame df X Y Z 1 3 12 2 2 5 6 7 3 6 4 8 4 6 23 8 5 8 25 15 6 12 8 17 7 14 9 29 #select random sample of three rows from data frame rand_df <- df[ sample ( nrow (df), size= 3 ), ] #display randomly selected rows rand_df X Y Z 4 6 23 8 7 14 9 29 1 3 12 2
这是这段代码中发生的事情:
1.要在 R 中选择数据框的子集,我们使用以下语法:df[rows, columns]
2.在上面的代码中,我们从数据框中随机选择3行和所有列的样本。
3.最终结果是数据框的子集,其中包含 3 个随机选择的行。
需要注意的是,每次我们使用sample()函数时,R都会选择不同的样本,因为该函数随机选择值。
为了重现某些分析的结果,请务必使用set.seed(some number) ,以便 sample() 函数每次选择相同的随机样本。例如:
#make this example reproducible set.seed(23) #create data frame df <- data.frame(x=c(3, 5, 6, 6, 8, 12, 14), y=c(12, 6, 4, 23, 25, 8, 9), z=c(2, 7, 8, 8, 15, 17, 29)) #select random sample of three rows from data frame rand_df <- df[ sample ( nrow (df), size= 3 ), ] #display randomly selected rows rand_df X Y Z 5 8 25 15 2 5 6 7 6 12 8 17
每次运行上面的代码时,每次都会选择数据框中相同的 3 行。