本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.
简述:
其使用格式为:
sample函数
sample(x, size, replace = FALSE, prob = NULL)
其中:
x:一个可供选择的一个或多个元素的向量,或一个正整数
n:一个正数,可供选择的项目数目。
size:一个非负整数,表示可供选择的项目数
replace:抽样应该替换吗
prob:用于获取被采样矢量的元素的概率权重向量。
举例 :
x <- 1:12 sample(x)
从1-12随机抽取12个元素,相当于无放回抽样
sample(x,replace=T)
输出结果有重复值,相当于有放回抽样
y <- c(0,1) sample(y,100,replace=T)
这里的100就是抽取100个元素,因为我们这里是有放回的抽样,所以可以抽无数次
其他用法:
带有条件的抽取
比如抽取1到10中大于5的样本
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
这样输出结果就正常了
sample.int函数
比如我想从1到1000间中随机抽取50个整数,有放回的抽样(可重复抽样)
sample.int(1e3, 100)
1e3代表1000,1en代表10的n次方
Be First to Comment