当前位置:K88软件开发文章中心编程全书编程全书02 → 文章内容

在R语言中实现简单随机抽样

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 3:02:24

:2018-10-12 22:47:35

关于抽样的基本概念

从总体中抽取样本的方法有很多种,比较常用的就是简单随机抽样。从容量为N的总体中随机抽取出容量为n的样本,每个样本被抽取到的可能性相等,则抽到的样本是一个容量为n的简单样本。

如果每次抽取的样本不放回到总体中,一直抽取到n为止,则这种抽样称为无放回抽样。

如果每次抽取到一个样本,做记录后,再将样本放回到总体,重复这个过程,直至抽满n个样本为止,则称这种抽样为有放回的抽样。

R语言中随机抽样函数sample简介

在R语言中可以使用sample()函数模拟抽样,其语法格式如下:

sample(x, size, replace = FALSE, prob = NULL)

参数的含义如下:

x:为向量,表示抽样的总体,或者是一个正整数,表示样本总体为1~n;

size:为样本容量,即要抽取的样本个数,是一个非负整数;

replace:表示是否为有放回的抽样,是一个逻辑值,默认为FALSE,即默认为无放回抽样;

prob:为权重向量,即x中元素被抽取到的概率,是一个取值0~1的向量,其长度应该与x的长度相同。

sample函数使用举例

例1:从1~20中随机抽取5个数。

sample(1:20, 5)

运行的某一结果如下:

[1] 13 6 5 9 4

上面这个例子,也可以使用下面的形式:

sample(20, 5)

例2:模拟抛硬币游戏,抛10次,看看出现正面H(Heads)和反面T(Tails)的情况。

sample(c("H", "T"), 10, replace=TRUE)

运行的某一结果如下:

[1] "H" "T" "T" "T" "H" "H" "H" "T" "T" "T"

在上面这个例子中,将抛硬币视为有放回的实验,即将参数replace设置为TRUE。

例3:某篮球运动员投篮命中率为70%,模拟10次投篮的命中(S)和未命中(F)情况。

编写R代码如下:

sample(c("S", "F"), 10, replace=TRUE, prob=c(0.7, 0.3))

运行的某一结果如下:

[1] "S" "S" "F" "F" "S" "S" "S" "S" "S" "F"

本部分涉及到的代码及运行结果如下图所示:

本文为本站原创,如需转载,请注明出处:翔宇亭IT乐园-在R语言中实现简单随机抽样


在R语言中实现简单随机抽样