如何使用 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