
R语言:分布函数与概率密度+随机数产生
1、常见概率分布
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
##正态分布
pnorm(1.96) #P(x<=1.96)时的分布概率
pnorm(1.96,0,1) #上同
pnorm(1.96,lower.tail = F) #P(x>1.96)注意与pnorm的区别
qnorm(0.975) #已知分布概率求x值
dnorm(0) #f(0)概率密度值
rnorm(111) #产生符合正态分布的111个随机数
##泊松分布 Possion(x,λ)
dpois(2,0.9) #等同概率密度
dpois(2.1,0.9) #x一定需要整数
ppois(2.1,0.9) #分布概率,取2.1的最小整数
其他一些分布函数:
一个利用概率分布解决问题的例子
1. 某人进行射击,每次击中目标的命中率为0.02,独立射击400次,求至少击中两次的概率。
解:400重伯努利试验,用二项分布求解。
P{X = k} = C400k * (0.02)^k * (0.0=98)^(400-k)
P{X≥2} = 1 – P{X = 0} - P{X = 1}
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
> 1 - sum(pbinom(0:1, 400, 0.02))
[1] 0.9968561
2、根据分布产生随机数
均匀分布、正态分布是比较常见的产生随机数的分布
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
> runif(10)
[1] 0.961465376 0.007521925 0.193619234 0.137027246 0.739370654 0.072907082
[7] 0.674551635 0.650777811 0.984664183 0.796723066
显著性水平为5%的正态分布的双侧临界值是:
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
> qnorm(0.025)
[1] -1.959964
> qnorm(0.975)
[1] 1.959964
随机数中产生的问题
问:set.seed设置了种子,但是每次产生的随机数还是不同?
解答:set.seed()只对运行该命令后的第一次随机产生结果有效。
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
> set.seed(13)
> rnorm(10)
[1] 0.5543269 -0.2802719 1.7751634 0.1873201 1.1425261 0.4155261
[7] 1.2295066 0.2366797 -0.3653828 1.1051443
> set.seed(13)
> rnorm(10)
[1] 0.5543269 -0.2802719 1.7751634 0.1873201 1.1425261 0.4155261
[7] 1.2295066 0.2366797 -0.3653828 1.1051443
>
要得到相同的随机数,还得再“重写”一遍
set seed(123)
rnorm()
这样,每次得到的随机数就一样。
——————————————————————————————————
应用一:rep()和replicate()批量取随机数
问题:假设我想从符合正态分布的数据集中随机抽取2个数据,排序, 这样的数据我需要10对,你会怎么做?
很多人都会想到用rep()这个函数,我们来试试。
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
rep(sort(sample(rnorm(n=100,mean = 0,sd = 1),2)),10)
结果文件:
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
> rep(sort(sample(rnorm(n=100,mean = 0,sd = 1),2)),10)
[1] 0.1188322 0.3224045 0.1188322 0.3224045 0.1188322 0.3224045 0.1188322
[8] 0.3224045 0.1188322 0.3224045 0.1188322 0.3224045 0.1188322 0.3224045
[15] 0.1188322 0.3224045 0.1188322 0.3224045 0.1188322 0.3224045
很明显不符合我们的要求。
该怎么解决呢?
replicate()函数可以实现,具体如下:
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
replicate(n=10,expr=sort(sample(rnorm(n=100,mean = 0,sd = 1),2)))
结果文件:
[plain] view plain copy
print?在CODE上查看代码片派生到我的代码片
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] -0.72719296 -0.9876203 -2.212692 -0.8753055 0.2981434 -1.2255357
[2,] -0.02896154 0.9458406 1.511990 1.9813026 1.2695440 -0.2565482
[,7] [,8] [,9] [,10]
[1,] -0.21979065 -0.6226580 -0.2889041 0.566944
[2,] 0.09309426 0.4599596 0.5187426 1.602581
大家应该注意到:rep()返回的是向量,replicate()返回的是矩阵。
下面列出两个函数的用法:
rep():
rep(x, ...)
rep.int(x, times) #每个元素重复次数
rep_len(x, length.out) #生成向量长度
replicate(),replicate(n, expr, simplify = "array") #随机数生成器
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
解析 response.text 与 response.content 的核心区别 在网络数据请求与处理的场景中,开发者经常需要从服务器返回的响应中提取数 ...
2025-07-22解析神经网络中 Softmax 函数的核心作用 在神经网络的发展历程中,激活函数扮演着至关重要的角色,它们为网络赋予了非线性能力, ...
2025-07-22CDA数据分析师证书考取全攻略 一、了解 CDA 数据分析师认证 CDA 数据分析师认证是一套科学化、专业化、国际化的人才考核标准, ...
2025-07-22左偏态分布转正态分布:方法、原理与实践 左偏态分布转正态分布:方法、原理与实践 在统计分析、数据建模和科学研究中,正态分 ...
2025-07-22你是不是也经常刷到别人涨粉百万、带货千万,心里痒痒的,想着“我也试试”,结果三个月过去,粉丝不到1000,播放量惨不忍睹? ...
2025-07-21我是陈辉,一个创业十多年的企业主,前半段人生和“文字”紧紧绑在一起。从广告公司文案到品牌策划,再到自己开策划机构,我靠 ...
2025-07-21CDA 数据分析师的职业生涯规划:从入门到卓越的成长之路 在数字经济蓬勃发展的当下,数据已成为企业核心竞争力的重要来源,而 CD ...
2025-07-21MySQL执行计划中rows的计算逻辑:从原理到实践 MySQL 执行计划中 rows 的计算逻辑:从原理到实践 在 MySQL 数据库的查询优化中 ...
2025-07-21在AI渗透率超85%的2025年,企业生存之战就是数据之战,CDA认证已成为决定企业存续的生死线!据麦肯锡全球研究院数据显示,AI驱 ...
2025-07-2035岁焦虑像一把高悬的利刃,裁员潮、晋升无望、技能过时……当职场中年危机与数字化浪潮正面交锋,你是否发现: 简历投了10 ...
2025-07-20CDA 数据分析师报考条件详解与准备指南 在数据驱动决策的时代浪潮下,CDA 数据分析师认证愈发受到瞩目,成为众多有志投身数 ...
2025-07-18刚入职场或是在职场正面临岗位替代、技能更新、人机协作等焦虑的打工人,想要找到一条破解职场焦虑和升职瓶颈的系统化学习提升 ...
2025-07-182025被称为“AI元年”,而AI,与数据密不可分。网易公司创始人丁磊在《AI思维:从数据中创造价值的炼金术 ...
2025-07-18CDA 数据分析师:数据时代的价值挖掘者 在大数据席卷全球的今天,数据已成为企业核心竞争力的重要组成部分。从海量数据中提取有 ...
2025-07-18SPSS 赋值后数据不显示?原因排查与解决指南 在 SPSS( Statistical Package for the Social Sciences)数据分析过程中,变量 ...
2025-07-18在 DBeaver 中利用 MySQL 实现表数据同步操作指南 在数据库管理工作中,将一张表的数据同步到另一张表是常见需求,这有助于 ...
2025-07-18数据分析师的技能图谱:从数据到价值的桥梁 在数据驱动决策的时代,数据分析师如同 “数据翻译官”,将冰冷的数字转化为清晰的 ...
2025-07-17Pandas 写入指定行数据:数据精细化管理的核心技能 在数据处理的日常工作中,我们常常需要面对这样的场景:在庞大的数据集里精 ...
2025-07-17解码 CDA:数据时代的通行证 在数字化浪潮席卷全球的今天,当企业决策者盯着屏幕上跳动的数据曲线寻找增长密码,当科研人员在 ...
2025-07-17CDA 精益业务数据分析:数据驱动业务增长的实战方法论 在企业数字化转型的浪潮中,“数据分析” 已从 “加分项” 成为 “必修课 ...
2025-07-16