📜  如何使用 R 中的样本函数生成样本?

📅  最后修改于: 2022-05-13 01:55:34.488000             🧑  作者: Mango

如何使用 R 中的样本函数生成样本?

在本文中,我们将讨论如何使用 R 中的 sample函数生成样本。

Sample()函数用于从给定数据中生成随机元素,无论是否替换。

语法

sample(data, size, replace = FALSE, prob = NULL)

在哪里,

  • 数据可以是向量或数据框
  • size代表样本的大小
  • 如果设置为true, replace用于再次重复设置值
  • prob:概率权重向量,用于获取被采样向量的元素

示例 1:从向量生成样本数据

在这里,我们将使用 sample函数从给定的向量中生成 n 个样本数据,其中包含 11 个元素。

R
# consider the vector
data=c(23,45,21,34,5,6,7,8,86,45,3)
  
# get 4 random elements
print(sample(data,4))
  
# get 1 random element
print(sample(data,1))
  
# get 6 random elements
print(sample(data,6))


R
# consider the vector
data=c(23,45,21,34,5,6,7,8,86,45,3)
  
# get 4 random elements
print(sample(data,4,replace=TRUE))
  
# get 1 random element
print(sample(data,1,replace=TRUE))
  
# get 6 random elements
print(sample(data,6,replace=TRUE))


R
# consider the vector
data=c(23,45,21,34,5)
  
# get 10 random elements with probability
print(sample(data, size = 10, replace = TRUE, 
             prob = c(0.6,0.1,0.1,0.1,0.1)))


R
# create dataframe with 2 columns
data=data.frame(col1=c(1:10),col2=c(12:21))
  
# get the sample of 4 in each column
data[sample(1:nrow(data), size = 4), ]


R
# create list with some integers
data=list(1,2,3,4,5,6)
  
# get the sample of 4
data[sample(1:length(data), size = 4)]


输出:

[1] 45  7  5 34
[1] 3
[1]  5 23  8 21  6 45

示例 2:通过替换从向量生成样本数据

在这里,我们将创建一个包含 11 个元素的向量并生成带有替换的样本数据。

R

# consider the vector
data=c(23,45,21,34,5,6,7,8,86,45,3)
  
# get 4 random elements
print(sample(data,4,replace=TRUE))
  
# get 1 random element
print(sample(data,1,replace=TRUE))
  
# get 6 random elements
print(sample(data,6,replace=TRUE))

输出:

[1] 45  5  5  3
[1] 86
[1]  5  5  8  7  8 45

示例 3:使用样本函数以不均匀概率进行抽样

在这里,我们将通过使用 prob 参数设置概率来选择概率高于其他元素的元素。

R

# consider the vector
data=c(23,45,21,34,5)
  
# get 10 random elements with probability
print(sample(data, size = 10, replace = TRUE, 
             prob = c(0.6,0.1,0.1,0.1,0.1)))

输出:

[1] 23 23 23 23 23 45 23 23 23 23

示例 4:使用 sample函数对数据帧行进行随机抽样

在这里,我们将对数据框进行采样,让我们创建一个数据框并对行进行采样。

R

# create dataframe with 2 columns
data=data.frame(col1=c(1:10),col2=c(12:21))
  
# get the sample of 4 in each column
data[sample(1:nrow(data), size = 4), ]

输出:

示例 5:使用 sample函数对列表元素进行随机抽样

在这里,我们将对列表中大小为 4 的数据进行采样

R

# create list with some integers
data=list(1,2,3,4,5,6)
  
# get the sample of 4
data[sample(1:length(data), size = 4)]

输出:

[[1]]
[1] 2

[[2]]
[1] 1

[[3]]
[1] 4

[[4]]
[1] 6