import numpy as np import matplotlib.pylab as plt from scipy import stats datatable = np.genfromtxt('savage_metabolicrate_data.csv', delimiter=',', dtype=None, names=True) #DISTRIBUTIONS x = np.arange(-5, 5, 0.01) norm_pdf = stats.norm.pdf(x) norm_cdf = stats.norm.cdf(x) norm_rand_nums = stats.norm.rvs(size=100) plt.subplot(1, 3, 1) plt.plot(x, norm_pdf, 'b-') plt.subplot(1, 3, 2) plt.plot(x, norm_cdf, 'r-') plt.subplot(1, 3, 3) plt.hist(norm_rand_nums) #DESCRIPTIVE STATISTICS x = [1, 2, 3, 4, 5] print stats.describe(x) #REGRESSION logmass = np.log10(datatable['Massg']) logmetabolicrate = np.log10(datatable['BMRW']) slope, intercept, rval, pval, stderr = stats.linregress(logmass, logmetabolicrate) print(slope, rval ** 2, pval) plt.figure() plt.plot(logmass, logmetabolicrate, 'ro') plt.plot([min(logmass), max(logmass)], [min(logmetabolicrate), max(logmetabolicrate)], 'k-', linewidth=2) plt.xlabel('Log(Mass)', fontsize=20) plt.ylabel('Log(Metabolic Rate)', fontsize=20)