so I have a table which comprises three columns, each column is independent measurements of the same thing and each should have some (hopefully) Gaussian error in it. I'm using the first column as basically a test to throw out outliers, so what I want to do is write a function that checks each entry in $M_{i,1}$ and if $\frac{|M_{i,1}-Mean[M_{i,1}]|}{\sqrt{Variance[M_{i,1}]}} \geq 1.5$ then I want to throw out that row.
I know how to do this procedurally but would like to understand how to do something like this functionally. Could anyone shed some light?
Edit:
Here's a sample of my data, as you can see here, I already subtracted off the mean of the first row and normalized it by the error, so now the question is just how to I delete the rows where the first value is > 1.5?
data = Import["/home/pi/Documents/Wolfram Mathematica/OT/run.1.dat"];
m = data[[1 ;; 10]];
m[[All, 1]] =
1.5*(m[[All, 1]] - Mean[m[[All, 1]]])/Sqrt[Variance[m[[All, 1]]]];
m
which gives
{{1.79446, 243.9, 236.019},
{1.25795, 245.783, 234.851},
{-2.74877, 239.893, 235.587},
{-0.305926, 242.533, 236.141},
{1.39874, 241.313, 237.124},
{-0.754923, 242.461, 235.76},
{-0.370612, 241.358, 236.501},
{1.67651, 241.142, 237.51},
{-0.5114, 243.559, 236.405},
{-1.43603, 242.929, 235.823}}
And I now want to delete all the rows where Abs[the first value]>1.5, hence I want it to look like
{1.25795, 245.783, 234.851},
{-0.305926, 242.533, 236.141},
{1.39874, 241.313, 237.124},
{-0.754923, 242.461, 235.76},
{-0.370612, 241.358, 236.501},
{-0.5114, 243.559, 236.405},
{-1.43603, 242.929, 235.823}}
Select
orDeleteCases
. $\endgroup$