Построение площади под кривой различных распределений в R - PullRequest
0 голосов
/ 15 ноября 2018

Предположим, я пытаюсь найти область ниже определенного значения для распределения студента.Например, я вычисляю статистику t-теста как t = 1,78 с 23 степенями свободы.Я знаю, как получить площадь под кривой выше t = 1,78 с помощью функции pt ().Как я могу получить график распределения учеников с 23 степенями свободы и заштрихованной областью под кривой выше 1,78. То есть я хочу построить кривую для pt (1,78,23, lower.tail = FALSE) с соответствующейПлощадь заштрихована.Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

ggplot версия:

ggplot(data.frame(x = c(-4, 4)), aes(x)) +
  stat_function(fun = dt, args =list(df =23)) +
  stat_function(fun = dt,   args =list(df =23),
                xlim = c(1.78,4),
                geom = "area") 

enter image description here

0 голосов
/ 15 ноября 2018

Это должно работать:

x_coord <- seq(-5, 5, length.out = 200) # x-coordinates
plot(x_coord, dt(x_coord, 23), type = "l",
     xlab = expression(italic(t)), ylab = "Density", bty = "l") # plot PDF
polygon(c(1.78, seq(1.78, 5, by = .3), 5, 5), # polygon for area under curve
        c(0, dt(c(seq(1.78, 5, by = .3), 5), 23), 0),
        col = "red", border = NA)

Относительно аргументов polygon():

  • ваши первые и последние точки должны быть [1.78, 0] и [5, 0] (5 только в том случае, если график идет до 5) - они в основном обозначают нижний край красного многоугольника
  • 2-я и предпоследняя точки: [1.78, dt(1.78, 23)] и [5, dt(5, 23)] - они определяют конечные точки верхнего края
  • промежуточные элементы - это просто координаты X и Y произвольного числа точек вдоль кривой [x, dt(x, 23)] - чем больше точек, тем более гладким является многоугольник

Надеюсь, это поможет

...