It is difficult to obtain accurate p-values based on simulation. This function provides an exact alternative.

1 | ```
pvalue.machine(LR.suspect, LR.table, P.table)
``` |

`LR.suspect` |
Numeric. Observed likeliood ratio (1x1 positive value) |

`LR.table` |
Pre-computed likelihood ratios for every genotype of every marker (MxG matrix). Each row corresponds to a marker. G is the maximum number of genotypes for any marker. Markers with fewer than G genotypes must have 0 in redundant columns |

`P.table` |
The population probabilities for every genotype of every marker (MxG matrix). Must corresponds to the genotypes in LR.table. See description of LR.table |

The p-value, where a value close to 0 indicates that the suspect is a contributor.

Dorum, Bleka, Snipen <guro.dorum@nmbu.no>

The function is obsolete.

See
`dists.product`

and `dists.product.pair`

for efficient computation of likelihood ratio distributions.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | ```
#Simple example, 2 markers, 3 genotypes. LR's and genotype probabilities precalculated
#The LR's for all possible genotypes for both markers. Each row corresponds to a marker
LR.table <- matrix(c(6,5,5,4,3,2),2,3)
#The population probabilities corresponding to the genotypes in LR.table
P.table <- rbind(c(0.2, 0.4, 0.4), c(0.1,0.6,0.3))
#LR observed for suspect
LR.suspect <- 20
pvalue <- pvalue.machine(LR.suspect, LR.table, P.table)
cat("p-value = ", pvalue, "\n")
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.