title: Fitting multimodal distributions in R; generating new values from fitted distribution
body: <p>I am working with small sample size data:</p>
  
  <pre><code>&gt;dput(dat.demand2050.unique)  
  c(79, 56, 69, 61, 53, 73, 72, 86, 75, 68, 74.2, 80, 65.6, 60, 54)    
  </code></pre>
  
  <p>for which the density distribution looks like this:<br>
  <img src="https://i.stack.imgur.com/nw2IB.png" alt="pdf of data"></p>
  
  <p>I know that the values are from two regimes - low and high - and assuming that the underlying process is normal, I used the <code>mixtools</code> package to fit a bimodal distribution:  </p>
  
  <pre><code>set.seed(99)  
  dat.demand2050.mixmdl &lt;- normalmixEM(dat.demand2050.unique, lambda=c(0.3,0.7), mu=c(60,70), k=2)
  </code></pre>
  
  <p>which gives me the following result:<br>
  <img src="https://i.stack.imgur.com/EqbWw.png" alt="enter image description here"><br>
  (the solid lines are fitted curves and the dashed line is the original density).  </p>
  
  <pre><code># get the parameters of the mixture
  dat.demand2050.mixmdl.prop &lt;- dat.demand2050.mixmdl$lambda    #mix proportions
  dat.demand2050.mixmdl.means &lt;- dat.demand2050.mixmdl$mu    #modal means
  dat.demand2050.mixmdl.dev &lt;- dat.demand2050.mixmdl$sigma   #modal std dev  
  </code></pre>
  
  <p>The mixture parameters are:  </p>
  
  <pre><code>&gt;dat.demand2050.mixmdl.prop  #mix proportions  
  [1] 0.2783939 0.7216061  
  &gt;dat.demand2050.mixmdl.means  #modal means  
  [1] 56.21150 73.08389  
  &gt;dat.demand2050.mixmdl.dev  #modal std dev  
  [1] 3.098292 6.413906 
  </code></pre>
  
  <p>I have the following questions:</p>
  
  <ol>
  <li>To generate a new set of values that approximates the underlying distribution, is my approach correct or is there a better workflow?  </li>
  <li>If my approach is correct, how can I use this result to generate a set of random values from this mixed distribution?</li>
  </ol>