博客园  :: 首页  :: 联系 :: 管理

R(2) sample

Posted on 2017-04-24 08:53  天戈朱  阅读(432)  评论(0编辑  收藏  举报

 sample: 从整体中挑出部分样本数据函数


 Usage: sample.int(n, size = n, replace = FALSE, prob = NULL)

  • x:可以是R中任何​对象
  • size: 指定在向量中抽取元素的个数
  • replace:默认是F,表示每次​抽取后的数就不能在下一次被抽取;T表示抽取过的数可以继续拿来被抽取
  • prob:概率(probability),默认每一个元素被抽取的概率相等,称为随机抽样,实际中需要抽取的元素未必相等,则通过prob来指定

 示例:

> sample(x=c("F","T"),size=10,replace = TRUE,prob = c(0.8,0.2))
 [1] "F" "F" "F" "F" "T" "F" "F" "T" "F" "F"

 

set.seed():  用于设定随机数种子 


   一个特定的种子可以产生一个特定的伪随机序列,这个函数的主要目的,是让你的模拟能够可重复出现,因为很多时候我们需要取随机数,但这段代码再跑一次的时候,结果就不一样了,如果需要重复出现同样的模拟结果的话,就可以用set.seed()

> set.seed(111)
> rnorm(3)
[1]  0.2352207 -0.3307359 -0.3116238
> set.seed(111)
> rnorm(3)
[1]  0.2352207 -0.3307359 -0.3116238

 括号里的数只是一个编号而已,例如set.seed(100)不应将括号里的数字理解成“一百”,而是应该理解成“编号为一零零的随机数发生”,编号设定基本可以随意。 


 pmax/pmin: p在这里表示parallel,可以理解为对向量进行平行比较


  Usage:  pmax(..., na.rm = FALSE) /  pmin(..., na.rm = FALSE) 

> x <- sample(c(1:10,NA),4)
>  x
[1]  3  1 10  4
>  pmax(x,5,na.rm = TRUE)
[1]  5  5 10  5