R语言笔记12:模拟——生成随机数字

Simulation

今天学习的内容是模拟 —— Simulation,在统计和一些其他的应用中很重要,所以在这里介绍一些R语言中可以做模拟的函数。

用于模拟已知概率分布的数字和变量

有些函数可以直接生成符合某种概率分布的随机数字或变量,例如:

:指定一个均值和标准差,即可生成符合正态分布的随机数字变量

:从已知平均发生率(rate)的泊松分布中生成泊松随机变量

一共有四类基本的函数和概率分布函数相关,它们的前缀分别是, , 以及:

:用来估计密度(density)

:用来产生随机数字(random)

:估计累计分布(cumulative distribution)

:估计分位数(quantile)

每种分布都有以上这四种前缀构成的函数,比如, , , 等。

每种函数都有不同的参数,那正态分布的四个函数举例:

所有函数都需要我们给定均值和标准差,以此确定实际的概率分布,如果不指定,那么默认属于标准正态分布(均值为0,标准差为1)

生成最简单的服从标准正态分布的随机数:

修改参数:

设置随机数字生成种子

函数可以用来设置随机数字生成种子(seed)。

这种方法可产生相同的随机数,也叫“伪随机数”。它怎么用?

举例

我们可以设置种子为任意整数,然后生成随机数字如下:

我们看到种子设定值不同时随机数字也不同,但是再设定相同种子就会出现完全一样的随机数字:

这个操作能让你重复得到之前生成的随机数字,可以让我们的模拟过程可重复,所以在生成随机数字之前最好设定一个种子

再拿泊松分布举例:

生成不同发生率的10个随机变量:

估计泊松分布的累积分布函数:

参考资料:

视频课程 R Programming by Johns Hopkins University:https://www.coursera.org/learn/r-programming/home/welcome

讲义 Programming for Data Science :https://bookdown.org/rdpeng/rprogdatascience/R

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180411G1AVBS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券