Statistics software for basic undergrad lab I'll have to perform some simple experiments, like measuring the period and damping of a pendulum, focal length of a lens, …
As a result I will end up with some X, Y data points and need to calculate derivation, means, kovariance and provide a fit for a liniarized function.
It explicitly says that we can use software or self written programs.
I could implement all the statistics formulas on the help sheet in say Python and run it, but that seems like a huge duplication of effort.
Is there software that would assist me with those kind of things?
I currently have:


*

*Mathematica

*Octave

*xmgrace

*(ROOT)

 A: For statistical analysis Gnumeric works very well, as it has passed a lot of statistical test. This report explains why it is a much better choice than Excel.
Of course there is also R, which is the largest free statistical package and is used in a lot of research areas.
Personally I think going the plain python route is also not a bad idea, as there is nothing going on "under the hood" and looking at and modifying the source code can be a great learning experience.
As an example this is a very basic implementation to calculate the sample standard deviation. It is not optimized to look pythonic or use many library functions but is very easy to understand. We start from the definition $$s = \sqrt{\frac{1}{N-1} \sum_{i=1}^N (x_i - \overline{x})^2}$$
and end up with the following piece:
import numpy as np

def sample_std_dev(samples):
    
    N = len(samples)
    mean = sum(samples)/N
           
    summation = 0.0    
    for xi in samples:
        summation = summation + (xi-mean)**2
    
    # remember: (N-1) from Bessel's correction 
    std_dev = np.sqrt( 1.0/(N-1.0) * summation)
    
    return std_dev

samples = np.array([2.1, 2.2, 2.0, 2.5, 2.3, 2.1])

std_dev = sample_std_dev(samples)

print("Sample standard deviation:")
print(std_dev)

A: I recommend using Octave (or Matlab, which is much more user-friendly but you will need a license). For every quantity that you mentioned there is a command in Octave and it is as simple as a=mean(y) or v=cov(x,y). Importing and exporting data is also very easy.
A: I used Excel, it has all the functions needed for undergrads and is simple.  Not to mention debugging equation entry was straightforward.  But looking back I wish I had got to grips with something like Matlab earlier.
