YaseenM

Zero Correlation Generator

Jan 4th, 2020
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.18 KB | None | 0 0
  1. # Imports random module
  2. import random
  3. # Imports r calculator
  4. from scipy.stats.stats import pearsonr
  5.  
  6. # Generates a list of random numbers from 1 to 5
  7. def generate_list(length):
  8.  
  9.   # Creates the new list
  10.   new_list = []
  11.  
  12.   # Generates the specified number of numbers
  13.   for i in range(length):
  14.  
  15.     new_number = random.randint(1, 5)
  16.  
  17.     # Appends the new number to the list
  18.     new_list.append(new_number)
  19.  
  20.   return new_list
  21.  
  22. # Gets the r-value from two sets of values
  23. def get_pearsonr(list_x, list_y):
  24.   r = pearsonr(list_x, list_y)[0]
  25.   return r
  26.  
  27. # Generates two data sets with r-value 0
  28. def generate_zero_r():
  29.  
  30.   generated_zero = False
  31.  
  32.   # Loops until valid data sets are generated
  33.   while not generated_zero:
  34.     list_x = generate_list(12)
  35.     list_y = generate_list(12)
  36.  
  37.     if get_pearsonr(list_x, list_y) == 0:
  38.       generated_zero = True
  39.       return list_x, list_y
  40.  
  41. # Main method
  42. def main():
  43.   # Stores two generated lists
  44.   lists = generate_zero_r()
  45.  
  46.   # Separates them into two variables
  47.   list_x = lists[0]
  48.   list_y = lists[1]
  49.  
  50.   # Prints the two lists
  51.   print("List x: " + str(list_x))
  52.   print("List y: " + str(list_y))
  53.  
  54. main()
Advertisement
Add Comment
Please, Sign In to add comment