Hey, Mathematica noob, so sorry for posting what's likely a pretty dumb question.

I have a table of data that I have done some preliminary exploration in Excel with, and now want to dive a little more deeply.

In essence this data is the results of some testing we have done on athletes pre-season over the last few years. The test generates a number where we think that a higher number makes you more likely to get an injury, but it's not known at what point higher the cut-off for this number should be. After a few years of doing this, we can now look back at the data and check if the test is telling us something meaningful, and if so, what a sensible cut-off point should be.

What I'd like to do is write a script which makes counts of the true positives, true negatives, false positives, and false negatives, for a range of cut-off values. The cut-off values are going to be determined as differences from the group average, starting at a 1% difference, stepping up by 1% at a time to some arbitrary point (perhaps 400% depending on what the data shows)

I would be able to write this code pretty simply in something like Pascal which reads similarly to the Mathematica instruction set I have read in the manual, but have not had any experience with Mathematica aside from reading the manual.

I would appreciate any help on translating the snippet below into Mathematica.

Main points are that I have to correctly define the variables, matricies, populate the matricies from the raw data, and get my control structures into a syntax Mathematica is OK with.

Any help gratefully received,

Rod

/* Define Variables, reserve memory

/* Dataset

/* Injured players, their individual scores on this test (n=100)

INJ(100)

/*Uninjured Players, their individual scores on this test (n=1000)

UNINJ(1000)

/* Populate the dataset - ? direct import from Excel, copy and paste CSV data into a line defining the matricies, ...

...

AVUNINJ(Real) /*Average value of the uninjured population for this score, set as reference

AVUNINJ:=1.26436591

/*True Positive matrix

TP(400) /* 400 @ 1% steps

/*True Negative matrix

TN(400) /* 400 @ 1% steps

/*False Positive matrix

FP(400) /* 400 @ 1% steps

/*False Negative matrix

FN(400) /* 400 @ 1% steps

SENS(400) /* Sensitivity, = TP/(TP+FN) for each of the 400 cut-off points

SPEC(400) /* Specificity, = TN/(FP+TN) for each of the 400 cut-off points

PLUSLR(400) /* Positive Likelihood Ratio for each of the 400 cut-off points, = SENS/(1-SPEC)

MINUSLR(400) /* Negative Likelihood Ratio for each of the 400 cut-off points, = (1-SENS)/SPEC

/* K: integer, local counting variable

/* I: Real, Local cut-off variable

/* Main Loop

For I = .01 to 4, Step 0.01 /* Counting from 1% to 400% in 1% steps

For K = 1 to Count(INJ)

If(INJ(K)>I*AVUNINJ)

INC TP /* True Positive

Else

INC FN /* False Negative

Next K

For K = 1 to Count(UNINJ)

If(INJ(K)>I*AVUNINJ)

INC FP /* False Positive

Else

INC TN /* True Negative

Next K

Next I

/* Calculate the individual SENS, SPEC, thence +LR and -LR for each of the 400 steps/* Display results

/* Graph PLUSLR, 0.01 to 4 /* Make a graph displyaing the +LR from 1% to 400%

/* Graph MINUSLR, 0.01 to 4 /* Make a graph displyaing the -LR from 1% to 400%