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章:调试 ============================================== ...
随机推荐
- hdoj 1114 Piggy-Bank(完全背包+dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 思路分析:该问题要求为多重背包问题,使用多重背包的解法即可:假设dp[v]表示容量为v的背包中能 ...
- cpu亲和力总结taskset和setcpu及其他相关
一:taskset -- 获取或指定进程运行的CPU. man taskset出现 CPU affinity is a scheduler property that "bonds" ...
- 随手写了一个linux服务端与window客户端的epoll程序,当做练习把。
linux服务端:监听链接,处理消息 #include <sys/socket.h> #include <sys/epoll.h> #include <n ...
- data pump(数据泵)
先给出oracle给出的一个定义: “Oracle Data Pump technology enables very high-speed movement of data and metadata ...
- ubuntu apache fastcgi 虚拟主机安装
1 cp /etc/apache2/sites-available/default /etc/apache2/sites-available/www.domain.com 这里www.domain.c ...
- NGUI使用教程(1) 安装NGUI插件
前言 鉴于当前游戏开发的大势,Unity3d的发展势头超乎我的预期,作为一个Flash开发人员,也是为Flash在游戏开发尤其是手游开发中的地位感到担忧....所以 近期一段时间都在自己学习unity ...
- hdu 4741 Save Labman No.004(2013杭州网络赛)
http://blog.sina.com.cn/s/blog_a401a1ea0101ij9z.html 空间两直线上最近点对. 这个博客上给出了很好的点法式公式了...其实没有那么多的tricky. ...
- visual studio2013负载测试简单问题记录
问题1: 错误 xxxx/xx/xx xx:xx:xx 未能对测试运行“xxxxxxxxxxx”进行排队: 活动的测试设置配置为使用 Visual Studio Online 运行测试. 使用团队资源 ...
- 支持iOS9 Universal links遇到的问题
记录为iOS9上的APP支持Universal links遇到的一些问题. 在Web服务器上传apple-app-site-association文件 必须支持HTTPS获取配置文件 文件名后不加.j ...
- Symfony命令行
Available commands: help 显示命令的帮助信息 list ...