Press "Enter" to skip to content

sample函数—R语言

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

简述:

 

其使用格式为:

 

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

发表回复

您的电子邮箱地址不会被公开。