[R语言常用函数]生成随机数

服从正态分布的随机数

rnorm(n,mean=0,sd=1)

如果想要生成一个长度为10的向量,向量中的每个值服从标准正态分布,那么可以这样写

> rnorm(10)
 [1] -0.7125585  2.2070410  1.4730548 -0.6655749  0.5349409 -0.9700122  0.4970766
 [8] -1.7385672  0.9300553 -0.4663140

另外,该函数也可以生成服从一般正态分布的随机数,例如

> rnorm(10,mean=1,sd=4)
 [1] -2.520978  3.567172  1.099416  1.029909 -1.239032  1.363111  0.670465
 [8]  4.015274 -7.095845  3.050106

其中mean表示均值,sd表示标准差。

此外,还有其他三个函数,dnorm,pnorm,qnorm。在如上两种基本用法中只是名字有所不同,效果是一样的。当然这三个函数还有自己相应的特殊用法,可以通过help(dnorm)进行查询。

服从均匀分布的随机数

runif(n, min = 0, max = 1)

生成一个长度为10的向量,向量中的每个值服从0~1区间上的均匀分布,那么可以这样写

> runif(10)
 [1] 0.68835411 0.14208554 0.53551407 0.30101879 0.64202722 0.06249627 0.80834355
 [8] 0.26193046 0.90841919 0.94294355

另外,也可以生成其他区间上的随机数,例如

> runif(10,min=5,max=10)
 [1] 7.771348 8.747055 8.721152 7.517620 6.084385 5.209369 5.532953 5.845175
 [9] 6.683199 9.708647

同样的,runif也有其他三个函数,dunif,punif,qunif。

其他

除了生成最常见的均匀分布随机数和正态分布随机数,R还提供了其他各种函数用以生成服从不同分布的随机数,常见的函数如下。

rexp 指数分布
rf F分布
rgamma  Gamma分布
rgeom 几何分布
rhyper 超几何分布
rlnorm 对数正态分布
rlogis Logistic分布
rmultinom 多项分布
rnbinom 负二项分布
rpois 泊松分布
rt t分布
rchisq 卡方分布

参考

http://bbs.pinggu.org/thread-193449-1-1.html

转载请注明出处:http://blog.csdn.net/zhyoulun/article/details/46413727

时间: 2024-08-24 17:31:50

[R语言常用函数]生成随机数的相关文章

R语言常用函数

数据结构 一.数据管理vector:向量 numeric:数值型向量 logical:逻辑型向量 character:字符型向量list:列表 data.frame:数据框 c:连接为向量或列表length:求长度subset:求子集 seq,from:to,sequence:等差序列 rep:重复 NA:缺失值 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性 mode,typeof:对象存储模式与类型 nam

R语言常用函数 & R语言其他

操作数据库(RODBC) odbcConnect(dsn, uid="", pwd="") 建立一个到ODBC数据库的连接 sqlFetch(channel, sqltable) 读取ODBC数据库中的某个表到一个数据框中 sqlQuery(channel, query) 向ODBC提交一个查询并返回结果 sqlSave(channel, dataframe, tablename=table, append=FALSE, rowname=TRUE) 将数据框写入或更

R语言系列:生成数据

R语言系列:生成数据 (2014-05-04 17:41:57) 转载▼ 标签: r语言 教育 分类: 生物信息 生成规则数据1.使用“:“,如x=1:10,注意该方法既可以递增也可以递减,如y=10:12.seq,有两种用法:①seq(起点,终点,步长); ②seq(length=9, from=1, to=5)    seq还有一种简写:seq(x)    #相当于1:length(x),但当length(x)为0时,返回integer(0)3.c(1,2,8)4.使用scan(),可以等待

R语言seq()函数用法

1.seq() 用来生成一组数字的函数. Usage: ## Default S3 method:seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),length.out = NULL, along.with = NULL, ...)seq.int(from, to, by, length.out, along.with, ...)seq_along(along.with)seq_len(length.out) Arguments:

R语言常用基础知识

seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),    length.out = NULL, along.with = NULL, ...) 举例----------Examples----------seq(0, 1, length.out=11) seq(stats::rnorm(20)) #  seq(1, 9, by = 2)     #  seq(1, 9, by = pi)    #  seq(1, 6, by =

[C/C++基础] C语言常用函数sprintf和snprintf的使用方法

Sprintf 函数声明:int sprintf(char *buffer, const char *format [, argument1, argument2, -]) 用途:将一段数据写入以地址buffer开始的字符串缓冲区 所属库文件: <stdio.h> 参数:(1)buffer,将要写入数据的起始地址:(2)format,写入数据的格式:(3)argument:要写的数据,可以是任何格式的. 返回值:实际写入的字符串长度 说明:此函数需要注意缓冲区buffer溢出,要为写入的arg

[C/C++基础] C语言常用函数strlen的使用方法

函数声明:extern unsigned int strlen(char *s); 所属函数库:<string.h> 功能:返回s所指的字符串的长度,其中字符串必须以'\0'结尾 参数:s为字符串的初始地址 使用举例: 代码如下 编译运行结果 说明: 函数strlen比较容易理解,其功能和sizeof很容易混淆.其中sizeof指的是字符串声明后占用的内存长度,它就是一个操作符,不是函数:而strlen则是一个函数,它从第一个字节开始往后数,直到遇见了'\0',则停止. [C/C++基础] C

[C/C++基础] C语言常用函数memset的使用方法

函数声明:void *memset(void *s, int ch, size_t n); 用途:为一段内存的每一个字节都赋予ch所代表的值,该值采用ASCII编码. 所属函数库:<memory.h> 或者 <string.h> 参数:(1)s,开始内存的地址:(2)ch和n,从地址s开始,在之后的n字节长度内,把每一个字节的值都赋值为n. 使用举例: 代码如下 编译运行结果 说明: 该函数最常用的用途就是将一段新分配的内存初始化为0.例如我们代码的第9-10行. 需要注意的是,函

R语言——绘图函数深入学习

利用R自带数据集 通过data()函数可以查看R自带数据集. > data() 返回以下结果,每一条记录都是一个数据,键入相应的数据名称可以查看具体信息. Data sets in package ¡®datasets¡¯: AirPassengers Monthly Airline Passenger Numbers 1949-1960 BJsales Sales Data with Leading Indicator BJsales.lead (BJsales) Sales Data wit