广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >R语言生成随机数实例讲解
  • 611
分享到

R语言生成随机数实例讲解

2024-04-02 19:04:59 611人浏览 八月长安
摘要

1.概述 作为一种语言进行统计分析,R有一个随机数生成各种统计分布功能的综合性图书馆。R语言可以针对不同的分布,生成该分布下的随机数。其中,有许多常用的个分布可以直接调用。本文简单介

1.概述

作为一种语言进行统计分析,R有一个随机数生成各种统计分布功能的综合性图书馆。R语言可以针对不同的分布,生成该分布下的随机数。其中,有许多常用的个分布可以直接调用。本文简单介绍生成常用分布随机数的方法,并介绍如何生成给定概率密度分布下的随机数。

2.常用分布的随机数

在R中各种概率函数都有统一的形式,即一套统一的 前缀+分布函数名:

   d 表示密度函数(density);

   p 表示分布函数(生成相应分布的累积概率密度函数);

   q 表示分位数函数,能够返回特定分布的分位数(quantile);

   r 表示随机函数,生成特定分布的随机数(random)。

2.1各种分布的随机数生存函数:


rnORM(n, mean=0, sd=1)  #正态分布
rexp(n, rate=1)  #指数
rgamma(n, shape, rate=1, scale=1/rate)  #r 分布
rpois(n, lambda)  #泊松
rt(n, df, ncp)  #t 分布
rf(n, df1, df2, ncp)  #f 分布
rchisq(n, df, ncp=0)  #卡方分布
rbinom(n, size, prob)  #二项分布
rweibull(n, shape, scale=1)  #weibull 分布
rbata(n, shape1, shape2)  #bata 分布runif(n,min=0,max=1) #均匀分布

2.2以二项分布为例,实现上述各类函数:


dbinom(x, size, prob, log = FALSE)# 可用于计算二项分布的概率。
pbinom(q, size, prob, lower.tail = TRUE, log.p = FALSE)#二项分布的分布函数值
qbinom(p, size, prob, lower.tail = TRUE, log.p = FALSE)#生成二项分布的特定分位数
rbinom(n, size, prob)#生成二项分布的随机数

二项分布随机数

二项分布是指n次独立重复伯努利试验成功的次数的分布,每次伯努利试验的结果只有两个,成功和失败,记成功的概率为p。生成二项分布随机数的函数是:rbinom() 。句法是:rbinom(n,size,prob)。n表示生成的随机数数量,size表示进行伯努利试验的次数,prob表示一次贝努力试验成功的概率。


#例:产生100个n为10,20,50,概率p为0.25的二项分布随机数:
  
 par(mfrow=c(1,3))
 p=0.25
 for( n in c(10,20,50)) { 
   x=rbinom(100,n,p)
   hist(x,prob=T,main=paste("n =",n))
   xvals=0:n
   points(xvals,dbinom(xvals,n,p),type="h",lwd=3)
  }
 par(mfrow=c(1,1))

3.离散随机变量的生成3.1逆变换法

假设我们希望生成一个离散型随机变量X,它有密度

我们首先可以生成一个均匀分布的随机数,使得:

 


#代码实现如下:<br>p1<-0.15
p2<-0.2
p3<-0.3
p4<-0.35
disRand<-function(i){
 u<-runif(1,0,1)
 if(u<p1) x<-4 else
  if(u<p2+p2) x<-2 else
   if(u<p3+p2+p1) x<-1 else
    x<-3
   return(x)
   }

3.2二项随机变量的生成

Example:假设要生成1000个服从b(100,0.6)的随机数


p<-0.6
n<-100
c<-p/(1-p)
i<-0
pp<-(1-p)^n
f<-pp
binomialRandomeV<-function(o){
 u<-runif(1,0,1)
 f<-
 while(u>=f){
  pp<-c*(n-i)*pp/(i+1)
  f<-f+pp
  i<-i+1
 }
 return(i)
}
sapply(c(1:1000),binomialRandomeV)

到此这篇关于R语言生成随机数实例讲解的文章就介绍到这了,更多相关R语言生成随机数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: R语言生成随机数实例讲解

本文链接: https://www.lsjlt.com/news/121727.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • R语言生成随机数实例讲解
    1.概述 作为一种语言进行统计分析,R有一个随机数生成各种统计分布功能的综合性图书馆。R语言可以针对不同的分布,生成该分布下的随机数。其中,有许多常用的个分布可以直接调用。本文简单介...
    99+
    2022-11-11
  • R语言随机数生成的实现
    1. 均匀分布 函数: runif(n, min=0, max=1),n 表示生成的随机数数量,min 表示均匀分布的下限,max 表示均匀分布的上限,若省略参min、max,则默认...
    99+
    2022-11-11
  • R语言生成随机数的方法
    这篇文章主要介绍R语言生成随机数的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.概述作为一种语言进行统计分析,R有一个随机数生成各种统计分布功能的综合性图书馆。R语言可以针对不同的分布,生成该分布下的随机数。...
    99+
    2023-06-14
  • r语言怎么生成随机数整数
    在R语言中,可以使用以下几个函数来生成随机整数:1. `sample()`函数:可以从指定的整数序列中随机抽取一个或多个整数。例如,...
    99+
    2023-09-04
    r语言
  • 使用R语言怎么生成一个随机数
    这篇文章给大家介绍使用R语言怎么生成一个随机数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 均匀分布函数: runif(n, min=0, max=1),n 表示生成的随机数数量,min 表示均匀分布的下限,ma...
    99+
    2023-06-13
  • R语言的xtabs函数实例讲解
    今天在做一个列联表独立性检验的时候,总是无法处理好要求的数据类型,偶然的机会,看到了xtabs()函数,感觉很适合用来做列联表,适合将一列数据转换成列联表。 shifou <...
    99+
    2022-11-11
  • Java调用R语言实例讲解
    R是统计计算的强大工具,JAVA是做应用系统的主流语言。JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的系统。 一、Rserve(远程通信模式) Rserve...
    99+
    2022-11-11
  • Python调用R语言实例讲解
    网络上经常看到有人问数据分析是学习Python好还是R语言好,还有一些争论Python好还是R好的文章。每次看到这样的文章我都会想到李舰和肖凯的《数据科学中的R语言》,书中一直强调,...
    99+
    2022-11-11
  • R语言基础画图实例讲解
    1.plot函数 plot(x,y,xlim=c(0,100),ylim=c(0.4,1), type="o",lwd=2,col=2,pch=24,cex=1.5, yaxs="i...
    99+
    2022-11-11
  • R语言写2048游戏实例讲解
    2048 是一款益智游戏,只需要用方向键让两两相同的数字碰撞就会诞生一个翻倍的数字,初始数字由 2 或者 4 构成,直到游戏界面全部被填满,游戏结束。 编程时并未查看原作者代码,不喜...
    99+
    2022-11-11
  • R语言绘图布局实例讲解
    在R语言中,par 函数可以设置图形边距,其中oma 参数设置outer margin, mar 参数设置margin, 这些边距有什么不同呢,通过box函数可以直观的看到 box ...
    99+
    2022-11-11
  • R语言绘制地图实例讲解
    setwd("C:/Users/75377/Desktop/SHEEP_ROH") png("12.png",width = 7000,height = 5500,pointsi...
    99+
    2022-11-11
  • c语言中如何生成随机数
    小编给大家分享一下c语言中如何生成随机数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 生成随机数的N种方式首先需要说明的是,计算机中生成的随机数严格来...
    99+
    2023-06-16
  • go语言如何生成随机数和随机字符串
    小编给大家分享一下go语言如何生成随机数和随机字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!生成随机数随机数的生成是计算机科学的一个研究领域,同时也是一种艺...
    99+
    2023-06-22
  • R语言归一化处理实例讲解
    归一化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保正程序运行时收敛加快。 R语言中的归一化函数:scale...
    99+
    2022-11-11
  • R语言箱线图创建实例讲解
    箱线图是数据集中的数据分布良好的度量。 它将数据集分成三个四分位数。 此图表表示数据集中的最小值,最大值,中值,第一四分位数和第三四分位数。 它还可用于通过绘制每个数据集的箱线图来比...
    99+
    2022-11-12
  • R语言绘制直方图实例讲解
    直方图表示被存储到范围中的变量的值的频率。 直方图类似于条形图,但不同之处在于将值分组为连续范围。 直方图中的每个柱表示该范围中存在的值的数量的高度。 R语言使用hist()函数创建...
    99+
    2022-11-12
  • R语言实现随机森林的方法示例
    目录随机森林算法介绍算法介绍:决策树生长步骤:投票过程:基本思想:随机森林的优点:缺点R语言实现随机森林模型搭建1:randomForest()函数用于构建随机森林模型2:impor...
    99+
    2022-11-12
  • go语言生成随机数和随机字符串的实现方法
    目录生成随机数生成随机字符串生成随机数 随机数的生成是计算机科学的一个研究领域,同时也是一种艺术。这是因为计算机是纯粹的逻辑机器,所以使用计算机生成随机数异常困难! 你可以用...
    99+
    2022-06-07
    GO 方法 字符串 go语言 随机数 字符
  • Go语言实现控制台输入&生成随机数详解
    1. 不同基础类型之间的转化 对于不同的基础类型之间的转化,Go 提供了 strconv包。它实现了字符串与其他基本数据类型之间的转化。 其中最常用的数值转化函数是Atoi和ltoa...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作