首页 > 解决方案 > 计算随机数介于数据集中两个数字之间的概率

问题描述

我生成了一个随机的、正态分布的数据群,其平均值为 341.08,标准差为 3.07。这是代码:

pop <- rnorm(1000, mean=341.08,sd=3.07)

我需要找出选择的随机数落在 337 和 343 之间的概率(包括两个数字)。我将如何执行此操作?

标签: rprobability

解决方案


这将使用您设置的边界将该向量制成表格:

table(cut(pop, c(-Inf,337,343,Inf) ))

(-Inf,337]  (337,343] (343, Inf] 
        87        645        268 

所以值的分数(也是概率)是:

table(cut(pop, c(-Inf,337,343,Inf) ))[2]/length(pop)
(337,343] 
    0.645 

为了使这个可重现,您将使用set.seed().

为了完善估计,如果这是作为理论问题提出的,您可以使用 模拟它replicate,或使用:

pnorm(343, 341.08, 3.07)-pnorm(337, 341.08, 3.07) 
[1] 0.6422225

第一种方法只需要数据。其他两种方法需要知道数据来自具有指定参数的正态分布。


推荐阅读