【r<-方案|随机数】生成随机数

问题

你想要生成随机数。

方案

要生成均匀分布的随机数,可以使用runif()函数。默认,它的范围是从0到1.

runif(1)
#> [1] 0.09006613

# 得到4个数字的向量
runif(4)
#> [1] 0.6972299 0.9505426 0.8297167 0.9779939

# 得到3个从0到100变化的向量
runif(3, min=0, max=100)
#> [1] 83.702278  3.062253  5.388360

# 得到从0到100变化的整数
# 使用max=101 因为它永远不可能等于101。 这里利用的floor函数是用来向下取整数的
floor(runif(3, min=0, max=101))
#> [1] 11 67  1

# 这个方式的结果一样
sample(1:100, 3, replace=TRUE)
#> [1]  8 63 64

# 生成不可替换(就是不能再取)的整数
sample(1:100, 3, replace=FALSE)
#> [1] 76 25 52

要生成服从正态分布的数字,使用rnorm()。默认均值是0,标准差是1。

rnorm(4)
#> [1] -2.3308287 -0.9073857 -0.7638332 -0.2193786

# 使用不同的均值和标准差
rnorm(4, mean=50, sd=10)
#> [1] 59.20927 40.12440 44.58840 41.97056

# 为了检查这个分布是否正确,给随机数画直方图
x <- rnorm(400, mean=50, sd=10)
hist(x)

注意

如果你想要你生成随机数的结果可重复,参看../Generating repeatable sequences of random numbers

其他


这里作者给出了生成随机数的一些简单示范,并没有介绍一些常见的函数。关于常见的数学、统计、概率和字符函数,大家可以参考我之前做的笔记R实战——数值与字符处理函数

by 诗翔

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math...
    GB_speak阅读 41,128评论 2 6
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,268评论 0 4
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,259评论 9 118
  • 即使在经历过十九度春秋的今天,我仍可真切地体验到那揪心的痛苦。连日温馨的绵绵细雨,将夏日的尘埃冲洗无余。深夜的林州...
    老原qwq阅读 176评论 0 0