R语言 如何使用R中的样本函数生成样本
在这篇文章中,我们将讨论如何使用R中的Sample函数生成一个样本。
Sample()函数 用于从给定的数据中生成随机元素,可以用或不用替换。
语法:
sample(data, size, replace = FALSE, prob = NULL)
其中。
- data 可以是一个向量或一个数据帧
- size 代表样本的大小
- replace :如果设置为true,则用于再次重复设置数值
- prob: 一个概率权重的向量,用于获得被抽样的向量的元素
例1:从向量中生成样本数据
这里,我们将使用sample函数从给定的有11个元素的向量中生成n个样本数据。
# 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))
输出 。
[1] 45 7 5 34
[1] 3
[1] 5 23 8 21 6 45
例2:通过替换从向量中生成样本数据
这里我们要创建一个有11个元素的向量,并通过替换生成样本数据。
# 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:使用sample函数进行不均匀概率的抽样调查
在这里,我们将通过使用prob参数设置概率来选择比其他元素概率高的元素。
# 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函数对数据框行进行随机抽样
这里我们要对数据框进行抽样,让我们创建一个数据框并对行进行抽样。
# 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的列表中的数据进行采样
# 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