Смесь 2-х равномерных случайных величин
Мне нужна помощь в создании смеси, которая составляет 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 ответ
Решение
Я не знаю функцию distr::UnivarMixingDistribution
но это легко реализовать с нуля:
Мы фиксируем семя для воспроизводимости
# Set fixed seed set.seed(2017);
Укажите количество точек отбора проб
# Sample N points N <- 1000;
Укажите коэффициенты смешивания и пределы обоих равномерных распределений
# 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));
Мы сейчас образец
N
точки# Sample x <- unlist(mapply(function(x, y) runif(x * N, y$min, y$max), weights, range))
Давайте построим распределение
x
ggplot(data.frame(x = x), aes(x)) + geom_histogram(bins = 100)