我有一个数据集,其中一列包含从300到400的随机数字。我正在尝试使用R找到320到350之间该列的比例。据我所知,我需要标准化这些数据并创建一个铃曲线首先。我有平均值和标准差,但是当我做(X - mean)/ SD并从该列获得直方图时,它仍然不是钟形曲线。
这是我试过的代码。
myData$C1 <- (myData$C1 - C1_mean) / C1_SD
如果您只是计算该范围内的观察数量,则无需进行任何标准化,您可以直接使用
mean(myData$C1 >= 320 & myData$C1 <= 350)
至于标准化,它肯定不会产生任何“钟形曲线”:它只会改变分布(居中)并重新调整数据(除以标准偏差)。除此之外,密度函数的形状本身保持不变。
例如,
x <- c(rnorm(100, mean = 300, sd = 20), rnorm(100, mean = 400, sd = 20))
mean(x >= 320 & x <= 350)
# [1] 0.065
hist(x)
hist((x - mean(x)) / sd(x))
我怀疑你所寻找的是对真实的,未被观察到的比例的估计。如果必须使用标准正态分布函数的列表值,则标准化过程将适用。然而,在R中,我们可能没有这样的事情。特别是,
pnorm(350, mean = mean(x), sd = sd(x)) - pnorm(320, mean = mean(x), sd = sd(x))
# [1] 0.2091931
这是概率P(320 <= X <= 350),其中X通常以平均mean(x)
和标准偏差sd(x)
分布。这个数字与上面的数字完全不同,因为我们通过假设它是正常的来指定基础分布;它实际上是两个正态分布的混合。