如何在 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 行。

其他资源

R 中的分层抽样(附示例)
R 中的系统采样(附示例)
R 中的聚类采样:示例

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注