code: def randn(
      theta=(0, 1),
      shape=(5, 5),
      missingness="mcar",
      thr=0.2,
      dtype="float",
  ):
      """Return randomly generated dataset of numbers with normally
      distributed values with given and sigma.
  
      Parameters
      ----------
      theta: tuple (mu, sigma)
          Determines the range of values in the matrix
      shape:tuple(optional)
          Size of the randomly generated data
      missingness: ('mcar', 'mar', 'mnar')
          Type of missingness you want in your dataset
      thr: float between [0,1]
          Percentage of missing data in generated data
      dtype: ('int','float')
          Type of data
  
      Returns
      -------
      numpy.ndarray
      """
      mean, sigma = theta
      data = np.random.normal(mean, sigma, size=shape)
      if dtype == "int":
          data = np.round(data)
      elif dtype == "float":
          pass
      corruptor = Corruptor(data, thr=thr)
      raw_data = getattr(corruptor, missingness)()
      return raw_data
  
file_path: impyute/impyute/dataset/base.py
imports: import itertools
  import math
  import random
  import string
  import numpy
  from impyute.dataset.corrupt import Corruptor
  from impyute.ops import error
label_desc: Use image node_id 2 for calling a global function with example usage: randn(theta, shape, missingness, thr, dtype) and returns: raw_data