1

Нижеприведенные ниже графики распределения выборки среднего значения и рассчитайте 20 лотов 95% доверительных интервалов. Как я могу построить доверительные интервалы на гистограмме, как в Photoshopped image ниже?Нарисуйте доверительный интервал на гистограмме с помощью ggplot2

# plot sampling distribution of mean ----------------------------------------------------------- 
set.seed(1) 

population <- rnorm(10000, 3, 3) 

population_mean <- mean(population) 

my_sample <- sample(population, 100, replace = FALSE) 

standard_error <- sqrt(var(my_sample)/length(my_sample)) 

sampling_distribution_of_mean <- rnorm(10000, mean = population_mean, sd = standard_error) 

library(ggplot2) 
ggplot(data.frame(x = sampling_distribution_of_mean), aes(x)) + geom_histogram() + geom_vline(xintercept = population_mean, color = "red") 


# calculate 20 lots of 95% confidence intervals ----------------------------------------------------------- 

my_confidence_intervals <- function(){ 

    my_sample <- sample(population, 100, replace = FALSE) 

    sample_mean <- mean(my_sample) 

    standard_error <- sqrt(var(my_sample)/length(my_sample)) 

    margin_of_error <- 1.96*standard_error 

    mean_minus_margin_of_error <- sample_mean - margin_of_error 
    mean_plus_margin_of_error <- sample_mean + margin_of_error 

    c(mean_minus_margin_of_error, mean_plus_margin_of_error) 

} 

library(plyr) 
llply(1:20, function(x) my_confidence_intervals()) 

enter image description here

+0

Мой вопрос не имеет отношения к задаче, но что именно вы пытаетесь отобразить? – Dason

+0

Распределение выборок среднего значения с 95% -ным доверительным интервалом для средств выборки – luciano

+0

Возможно, вы захотите включить некоторые вертикальные линии, чтобы указать, где находится средний 95% распределения выборки. Таким образом, легче видеть, что средство выборки, которое выходит за пределы этой границы, приводит к доверительным интервалам, которые не фиксируют среднее значение. – Dason

ответ

7

Вы хотели бы построить data.frame, содержащий интервалы, а затем добавить слой горизонтальных погрешностями, чтобы построить их. Во-первых, я превратить ваши диапазоны в data.frame

xx<-llply(1:20, function(x) my_confidence_intervals()) 
xx<-data.frame(y=1:20*50, x=do.call(rbind, xx)) 

Теперь я добавляю их к сюжету

ggplot(data.frame(x = sampling_distribution_of_mean), aes(x)) + 
    geom_histogram() + 
    geom_vline(xintercept = population_mean, color = "red") + 
    geom_errorbarh(aes(y=y, x=x.1, xmin=x.1, xmax=x.2), data=xx, col="#0094EA", size=1.2) 

, который дает

enter image description here

Обратите внимание, что я явно задать y- значения для каждого из диапазонов при создании data.frame.

+0

, кстати, синий цвет, который вы выбрали, хорошо соответствует синему цвету, который я использовал в моем вопросе. Как вы нашли такое близкое совпадение? – luciano

+0

Я скопировал ваше изображение в Paint.NET и использовал подборщик цветов. – MrFlick