
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
随机森林算法的核心特点:原理、优势与应用解析 在机器学习领域,随机森林(Random Forest)作为集成学习(Ensemble Learning) ...
2025-09-05Excel 区域名定义:从基础到进阶的高效应用指南 在 Excel 数据处理中,频繁引用单元格区域(如A2:A100、B3:D20)不仅容易出错, ...
2025-09-05CDA 数据分析师:以六大分析方法构建数据驱动业务的核心能力 在数据驱动决策成为企业共识的当下,CDA(Certified Data Analyst) ...
2025-09-05SQL 日期截取:从基础方法到业务实战的全维度解析 在数据处理与业务分析中,日期数据是连接 “业务行为” 与 “时间维度” 的核 ...
2025-09-04在卷积神经网络(CNN)的发展历程中,解决 “梯度消失”“特征复用不足”“模型参数冗余” 一直是核心命题。2017 年提出的密集连 ...
2025-09-04CDA 数据分析师:驾驭数据范式,释放数据价值 在数字化转型浪潮席卷全球的当下,数据已成为企业核心生产要素。而 CDA(Certified ...
2025-09-04K-Means 聚类:无监督学习中数据分群的核心算法 在数据分析领域,当我们面对海量无标签数据(如用户行为记录、商品属性数据、图 ...
2025-09-03特征值、特征向量与主成分:数据降维背后的线性代数逻辑 在机器学习、数据分析与信号处理领域,“降维” 是破解高维数据复杂性的 ...
2025-09-03CDA 数据分析师与数据分析:解锁数据价值的关键 在数字经济高速发展的今天,数据已成为企业核心资产与社会发展的重要驱动力。无 ...
2025-09-03解析 loss.backward ():深度学习中梯度汇总与同步的自动触发核心 在深度学习模型训练流程中,loss.backward()是连接 “前向计算 ...
2025-09-02要解答 “画 K-S 图时横轴是等距还是等频” 的问题,需先明确 K-S 图的核心用途(检验样本分布与理论分布的一致性),再结合横轴 ...
2025-09-02CDA 数据分析师:助力企业破解数据需求与数据分析需求难题 在数字化浪潮席卷全球的当下,数据已成为企业核心战略资产。无论是市 ...
2025-09-02Power BI 度量值实战:基于每月收入与税金占比计算累计税金分摊金额 在企业财务分析中,税金分摊是成本核算与利润统计的核心环节 ...
2025-09-01巧用 ALTER TABLE rent ADD INDEX:租房系统数据库性能优化实践 在租房管理系统中,rent表是核心业务表之一,通常存储租赁订单信 ...
2025-09-01CDA 数据分析师:企业数字化转型的核心引擎 —— 从能力落地到价值跃迁 当数字化转型从 “选择题” 变为企业生存的 “必答题”, ...
2025-09-01数据清洗工具全景指南:从入门到进阶的实操路径 在数据驱动决策的链条中,“数据清洗” 是决定后续分析与建模有效性的 “第一道 ...
2025-08-29机器学习中的参数优化:以预测结果为核心的闭环调优路径 在机器学习模型落地中,“参数” 是连接 “数据” 与 “预测结果” 的关 ...
2025-08-29CDA 数据分析与量化策略分析流程:协同落地数据驱动价值 在数据驱动决策的实践中,“流程” 是确保价值落地的核心骨架 ——CDA ...
2025-08-29CDA含金量分析 在数字经济与人工智能深度融合的时代,数据驱动决策已成为企业核心竞争力的关键要素。CDA(Certified Data Analys ...
2025-08-28CDA认证:数据时代的职业通行证 当海通证券的交易大厅里闪烁的屏幕实时跳动着市场数据,当苏州银行的数字金融部连夜部署新的风控 ...
2025-08-28