r语言之给定的概率密度函数生成随机数
假设概率密度函数为:

思路:
首先产生-1到1之间的均匀分布随机数x,和0到1之间的均匀分布随机数y。
如果y<f(x),则x是符合该概率密度的随机数,否则,重复上述操作。
用r语言生成100个随机数程序如下:
> for(i in 1:100)
+ {x[i]=runif(1,-1,1)
+ y[i]=runif(1,0,1)
+ while(y[i]>(1-abs(x[i])))
+ {x[i]=runif(1,-1,1)
+ y[i]=runif(1,0,1)
+ }
+ }
随机数如下:
> x
[1] -0.514901637 -0.217501164 0.711344072 0.392367283 0.630612312
[6] 0.546505700 0.586900601 -0.743232092 -0.336172141 -0.889316445
[11] -0.483111145 0.262203687 0.060877270 0.375244982 0.026205739
[16] 0.164838966 0.322126824 -0.595749320 0.174984953 0.437411303
[21] 0.411043267 -0.164316747 -0.448740647 0.398710048 0.387240598
[26] -0.377926981 -0.703300728 0.607546115 0.192999553 -0.018041003
[31] -0.020166740 0.499004755 -0.735728289 0.662798617 -0.244104174
[36] 0.360975237 -0.080959949 0.194795900 0.067130172 -0.150683799
[41] 0.196463150 -0.664764840 0.080320831 -0.537401136 0.103412358
[46] 0.113238147 -0.123515784 0.013652259 0.039734034 0.403804602
[51] 0.464418256 -0.378770977 -0.323632269 -0.536819858 -0.637694909
[56] -0.443880166 0.101090029 0.020091781 -0.043975835 -0.083350927
[61] -0.154194120 -0.161078955 0.582624681 -0.128034349 -0.129948552
[66] 0.505254598 0.492040237 0.729876905 -0.317929749 0.025999713
[71] 0.219295514 0.004028297 -0.020060018 0.434986595 -0.496682210
[76] 0.367210269 -0.075623044 -0.019082523 0.369629193 -0.122305395
[81] -0.063062626 -0.041233874 0.451531802 -0.171188537 -0.533768997
[86] 0.418290247 0.952854297 0.033798765 -0.069794761 -0.671866662
[91] 0.455189073 0.133429194 -0.785471270 0.351558574 -0.551275020
[96] 0.094082693 0.216529398 -0.195531629 -0.457623412 0.103529213
画图如下:

r语言之给定的概率密度函数生成随机数的更多相关文章
- R语言实战(二)数据管理
本文对应<R语言实战>第4章:基本数据管理:第5章:高级数据管理 创建新变量 #建议采用transform()函数 mydata <- transform(mydata, sumx ...
- [转]概率基础和R语言
概率基础和R语言 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒.直到大数据的爆发,R语 ...
- R语言编程艺术# 数据类型向量(vector)
R语言最基本的数据类型-向量(vector) 1.插入向量元素,同一向量中的所有的元素必须是相同的模式(数据类型),如整型.数值型(浮点数).字符型(字符串).逻辑型.复数型等.查看变量的类型可以用t ...
- R语言实战(四)回归
本文对应<R语言实战>第8章:回归 回归是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量.效标变量或结果变量)的方法.通常,回归分析可以用来 ...
- R语言编程艺术#01#数据类型向量(vector)
R语言最基本的数据类型-向量(vector) 1.插入向量元素,同一向量中的所有的元素必须是相同的模式(数据类型),如整型.数值型(浮点数).字符型(字符串).逻辑型.复数型等.查看变量的类型可以用t ...
- R语言函数总结(转)
R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达 ...
- 用R语言实现对不平衡数据的四种处理方法
https://www.weixin765.com/doc/gmlxlfqf.html 在对不平衡的分类数据集进行建模时,机器学**算法可能并不稳定,其预测结果甚至可能是有偏的,而预测精度此时也变得带 ...
- R语言编程艺术(4)R对数据、文件、字符串以及图形的处理
本文对应<R语言编程艺术> 第8章:数学运算与模拟: 第10章:输入与输出: 第11章:字符串操作: 第12章:绘图 =================================== ...
- R语言编程艺术(3)R语言编程基础
本文对应<R语言编程艺术> 第7章:R语言编程结构: 第9章:面向对象的编程: 第13章:调试 ============================================== ...
随机推荐
- openStack error infos 调试
glance image-create --name "RuiCheck" --disk-format qcow2 --container-format bare --is-pub ...
- CVT电子集团--笔试部分试题
之前有在网上答了下CVT的网上笔试题,特别把它们都弄下来,答案参考,不一定是对的,有错希望大家能提出来. 1.有关系R和S,R∩S等价于(B) A.S-(R-S) B.R-(R-S) C.( ...
- Android导航栏ActionBar的具体分析
尊重原创:http://blog.csdn.net/yuanzeyao/article/details/39378825 关于ActionBar,相信大家并不陌生,可是真正能够熟练使用的也不是许多,这 ...
- JavaSE学习总结第26天_网络编程
26.01 网络编程概述 网络编程:就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换. 26.02 网络模型概述和图解 计算机网络之间以何种规则进行通信,就是网络模型研究问题. ...
- 最大值减去最小值小于或等于num的子数组数量
[说明]: 本文是左程云老师所著的<程序员面试代码指南>第一章中“最大值减去最小值小于或等于num的子数组数量”这一题目的C++复现. 本文只包含问题描述.C++代码的实现以及简单的思路, ...
- BZOJ 1927: [Sdoi2010]星际竞速(最小费用最大流)
拆点,费用流... ----------------------------------------------------------------------------- #include< ...
- ButterKnife 绑定 RadioGroup
原则上 ButterKnife 是不支持 RadioGroup 的, 可以通过以下方法添加RadioButton的点击事件: @OnClick({ R.id.radio_btn1, R.id.radi ...
- idea中使用sbt构建scala项目及依赖
1.安装scala插件 http://www.cnblogs.com/yrqiang/p/5310700.html 2. 详细了解sbt: http://www.scala-sbt.org/0.13/ ...
- (Problem 42)Coded triangle numbers
The nth term of the sequence of triangle numbers is given by, tn = ½n(n+1); so the first ten triangl ...
- [转]关于 Swift 的一点初步看法
本文转自:http://onevcat.com/2014/06/my-opinion-about-swift/ 感谢原作者 虽然四点半就起床去排队等入场,结果还是只能坐在了蛮后面的位置看着大屏幕参加了 ...