Смесь 2-х равномерных случайных величин - PullRequest
0 голосов
/ 02 июля 2018

Мне нужна помощь в создании смеси, которая составляет 1/3 Unif (0,7) и 2/3 Unif (9,10) Я использовал

library(distr)

X <- UnivarMixingDistribution(Unif(0,7),Unif(9,10),mixCoeff = c((1/3),(2/3)))

Но я не уверен, что это хорошо, потому что при построении X он возвращает точку рассеяния, которая на самом деле не имеет никакого смысла.

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 02 июля 2018

Я не знаю функцию distr::UnivarMixingDistribution, но ее легко реализовать с нуля:

  1. Зафиксируем семена для воспроизводимости

    # Set fixed seed
    set.seed(2017);
    
  2. Укажите количество точек отбора проб

    # Sample N points
    N <- 1000;
    
  3. Укажите коэффициенты смешивания и пределы обоих равномерных распределений

    # Weights and limits of both uniform distibutions
    weights <- c(1/3, 2/3);
    range <- list(list(min = 0, max = 7), list(min = 9, max = 10));
    
  4. Мы сейчас пробуем N баллов

    # Sample
    x <- unlist(mapply(function(x, y) runif(x * N, y$min, y$max), weights, range))
    
  5. Построим распределение x

    ggplot(data.frame(x = x), aes(x)) + geom_histogram(bins = 100)
    

enter image description here

...