1

我有一个数据集,其中一列包含从 300 到 400 的随机数。我正在尝试使用 R 找出该列在 320 到 350 之间的比例。据我了解,我需要标准化这些数据并创建一个首先是钟形曲线。我有平均值和标准差,但是当我做 (X - mean)/SD 并从该列获取直方图时,它仍然不是钟形曲线。

这是我试过的代码。

myData$C1 <- (myData$C1 - C1_mean) / C1_SD
4

1 回答 1

1

如果您只是计算该范围内的观察次数,则无需进行任何标准化,您可以直接使用

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)。该数字与上面的数字完全不同,因为我们通过假设它是正态的而错误地指定了基础分布;它实际上是两个正态分布的混合。

于 2019-04-13T22:17:51.367 回答