Skip to main content
Statistics LibreTexts

15.1: Generating Random Samples (Section @ref{generating-random-numbers})

  • Page ID
    8799
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)

    Here we will generate random samples from a number of different distributions and plot their histograms.

    nsamples <- 10000
    nhistbins <- 100
    
    # uniform distribution
    
    p1 <-
      tibble(
        x = runif(nsamples)
      ) %>% 
      ggplot((aes(x))) +
      geom_histogram(bins = nhistbins) + 
      labs(title = "Uniform")
    
    # normal distribution
    p2 <-
      tibble(
        x = rnorm(nsamples)
      ) %>% 
      ggplot(aes(x)) +
      geom_histogram(bins = nhistbins) +
      labs(title = "Normal")
    
    # Chi-squared distribution
    p3 <-
      tibble(
        x = rnorm(nsamples)
      ) %>% 
      ggplot(aes(x)) +
      geom_histogram(bins = nhistbins) +
      labs(title = "Normal")
    
    # Chi-squared distribution
    p3 <-
      tibble(
        x = rchisq(nsamples, df=1)
      ) %>% 
      ggplot(aes(x)) +
      geom_histogram(bins = nhistbins) +
      labs(title = "Chi-squared")
    
    # Poisson distribution
    p4 <-
      tibble(
        x = rbinom(nsamples, 20, 0.25)
      ) %>% 
      ggplot(aes(x)) +
      geom_histogram(bins = nhistbins) +
      labs(title = "Binomial (p=0.25, 20 trials)")
    
    
    plot_grid(p1, p2, p3, p4, ncol = 2)

    file76.png


    15.1: Generating Random Samples (Section @ref{generating-random-numbers}) is shared under a not declared license and was authored, remixed, and/or curated by Russell A. Poldrack via source content that was edited to conform to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.