简述:
Sample函数从x的元素中提取指定大小的样本,使用替换或不替换。
其使用格式为:
sample(x, size, replace = FALSE, prob = NULL)
其中:
x <- 1:12
sample(x)
从1-12随机抽取12个元素,相当于无放回抽样
sample(x,replace=T)
输出结果有重复值,相当于有放回抽样
y <- c(0,1)
sample(y,100,replace=T)
这里的100就是抽取100个元素,因为我们这里是有放回的抽样,所以可以抽无数次
其他用法:
sample(x[x > 5])
大于10的样本(很明显一个没有)
sample(x[x > 10])
输出整数0
但是注意!!!当你想输出大于9的样本的时候(很明显只有10)
R语言却输出了10个向量
。这也是需要注意的一点
sample(x[x > 9])
如果你真的想从大于9的数中抽取的话,需要使用sample.int函数
resample <- function(x, ...) x[sample.int(length(x), ...)]
resample(x[x > 8]) # length 2
resample(x[x > 9]) # length 1
resample(x[x > 10]) # length 0
这样输出结果就正常了
比如我想从1到1000间中随机抽取50个整数,有放回的抽样(可重复抽样)
sample.int(1e3, 100)
1e3代表1000,1en代表10的n次方