У меня есть частотное распределение наблюдений, сгруппированных по подсчетам в интервалах классов. Я хочу подобрать нормальное (или другое непрерывное) распределение и найти ожидаемые частоты в каждом интервале в соответствии с этим распределением.
Например, предположим следующее, где я хочу вычислить другой столбец, expected дающий ожидаемое количество солдат с окружностью груди в интервале, указанном chest, где эти предполагаются центрированными относительно номинального значения. Например, 35 = 34.5 <= y < 35.5. Один анализ, который я видел, дает ожидаемую частоту в этой ячейке как 72,5 против наблюдаемой 81.
> data(ChestSizes, package = "HistData")
>
> ChestSizes
chest count
1 33 3
2 34 18
3 35 81
4 36 185
5 37 420
6 38 749
7 39 1073
8 40 1079
9 41 934
10 42 658
11 43 370
12 44 92
13 45 50
14 46 21
15 47 4
16 48 1
>
> # ungroup to a vector of values
> chests <- vcdExtra::expand.dft(ChestSizes, freq = "count")
Существует довольно много вариантов этого вопроса, большинство из которых связаны с построением графика нормальной плотности поверх гистограммы, масштабированной для представления количества, а не плотности. Но никто явно не показывает расчет ожидаемых частот. Один близкий вопрос: R: добавьте нормальные аппроксимации к сгруппированным гистограммам в ggplot2
Я вполне могу построить стандартный график (ниже), но для других вещей, таких как критерий хи-квадрат или график vcd::rootogram, мне нужны ожидаемые частоты в тех же интервалах классов.
> bw <- 1
n_obs <- nrow(chests)
xbar <- mean(chests$chest)
std <- sd(chests$chest)
plt <-
ggplot(chests, aes(chest)) +
geom_histogram(color = "black", fill = "lightblue", binwidth = bw) +
stat_function(fun = function(x)
dnorm(x, mean = xbar, sd = std) * bw * n_obs,
color = "darkred", size = 1)
plt
Вот как вы можете рассчитать ожидаемые частоты для каждой группы, предполагая нормальность.
xbar <- with(ChestSizes, weighted.mean(chest, count))
sdx <- with(ChestSizes, sd(rep(chest, count)))
transform(ChestSizes, Expected = diff(pnorm(c(32, chest) + .5, xbar, sdx)) * sum(count))
chest count Expected
1 33 3 4.7600583
2 34 18 20.8822328
3 35 81 72.5129162
4 36 185 199.3338028
5 37 420 433.8292832
6 38 749 747.5926687
7 39 1073 1020.1058521
8 40 1079 1102.2356155
9 41 934 943.0970605
10 42 658 638.9745241
11 43 370 342.7971793
12 44 92 145.6089948
13 45 50 48.9662992
14 46 21 13.0351612
15 47 4 2.7465640
16 48 1 0.4579888