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") #随机数生成器
数据分析咨询请扫描二维码
CDA数据分析师在中国航信高科技产业园进行了面向测试度量的数据分析培训课程,培训人数近2 ...
2024-05-01CDA数据分析师走进深圳迈瑞生物医疗电子股份有限公司,在迈瑞总部展开了为期两天的培训,本次课程参训人员线上及线下近百人, ...
2024-05-01CDA数据分析师在合肥市对合肥阳光新能源科技有限公司开展了为期8天的企业内训。 合肥阳光新能源科技 ...
2024-05-01CDA数据分析师走进海尔大学,进行了《数据治理与数据中台建设的道与术》专题培训,培训现场爆满,近百人参加了此次培训。 ...
2024-05-01在中国银行苏州分行培训中心开始数据分析师培训,此次培训课程共10天内容,包括Excel、MySQL、概率论与数理统计、SPSS等内容, ...
2024-05-01从实际的业务需求出发,结合行业的典型应用特点,围绕实际的商业问题,探讨数据挖掘、机器学习模型在金融领域的应用,包括获客、信用评分、细分画像、交叉销售、反欺诈、违规识别、时序预测、运筹优化、流程挖掘九个方面,形成 ...
2024-05-01本次培训课程为线上+线下的模式,由于学员编程能力不一、部分学员没有编程基础,故提供统计学、python基 ...
2024-05-01华夏银行信用卡中心-机器学习培训 1、课程亮点 取材于业界一流企业和顶级咨询公司的行业实践;已经被证明是人人 ...
2024-05-01主 题:数据中台建设及数据分析应用主题分享 1. 数据中台市场洞察 2. 主流数据中台产品比较 3. 某企业数据中 ...
2024-05-01围绕“数据驱动”战略,全力打造我行 300 人数字化人才梯队,着力培养数字化管理人才、大数据专业团队 ...
2024-05-01在当今数据驱动的商业环境中,数据分析成为了企业决策的重要依据。通过对大量数据的收集、处理和分析,企业能够更好地理解市场 ...
2024-04-29在人工智能(AI)的世界里,提示词(Prompt)是一种强大的工具,它能够引导AI按照用户的需求产生特定的输出。本文将深入探讨AI ...
2024-04-29CDA立足未来职场,拓展前沿视野——对外经贸大学保险学院举办“三全育人大讲堂”分享行业最新动态。 ...
2024-04-294月2日,CDA数据分析师创始发起人兼协会理事长赵坚毅博士受邀在浙江万里学院举办了一场以“数字化能力在职场中的作用” ...
2024-04-29随机森林(Random Forests)现在机器学习中比较火的一个算法,是一种基于Bagging的集成学习方法,能够很好地处理分类和回归的问 ...
2022-12-23方差分析是数据分析中常用的一种统计分析方法,接下来让我们简单了解一下方差分析的基本思想和原理吧。 方差分析(Analysis ...
2022-12-23来源:关于数据分析与可视化 关于streamlit-aggrid 数据排序 表格样式的调整 数据 ...
2022-08-03作者:麦叔 定义 「把上面晦涩的概念汇成一句话就是:」 ❝ 回调函数就是一个被作为参 ...
2022-08-03现今,高学历人群日益增多,物以稀为贵的高学历光环淡去。无论本科生还是研究生,甚至博士生,求职竞争力都大不如前,就业压力越来越大。
2022-06-01某家企业10个人面试,有9个本科生……如何脱颖而出,除得体的举止和良好的沟通力外,证书成重要筹码,这也是很多人考证的关键所在。
2022-04-14