0

我需要帮助创建我使用的 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 时,它返回一个没有任何意义的散点。

在此先感谢您的帮助 !

4

1 回答 1

0

我不知道这个功能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)
    

在此处输入图像描述

于 2018-07-01T23:32:06.303 回答