mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 19:17:10 +00:00
fix(analyze): write an undefined paired p-value as null, not as NaN
A paired contrast where censoring orders no pair has no p-value, and JSON has no NaN, so --json failed with 'marshal summary: json: unsupported value: NaN' and wrote no summary at all after printing a complete report. The two fields join the medians and the rates already carried as pointers, undefined reading as null in the summary and n/a in the report. Reachable since a clean run started being censored where it stopped: an arm the wall clock stops before its partner ever violates orders nothing.
This commit is contained in:
1 parent
8fad1937bb
commit
4bcd82a8a6
6 files changed
+60
-23
No files matched your search
@@ -647,11 +647,11 @@ func TestPlanted_PairedComparisonRecoversTheShiftAndItsSign(t *testing.T) {
|
||||
if want := 0.5 * float64(unordered) / 30; paired.A12 != want {
|
||||
t.Errorf("a12 within pairs %v, want %v where no pair favours the first arm", paired.A12, want)
|
||||
}
|
||||
if paired.PValue > 0.001 {
|
||||
if paired.PValue == nil || *paired.PValue > 0.001 {
|
||||
t.Errorf("p-value %v for a shift planted in every pair", paired.PValue)
|
||||
}
|
||||
if paired.HolmPValue != paired.PValue {
|
||||
t.Errorf("holm p %v in a family of one, want the raw %v", paired.HolmPValue, paired.PValue)
|
||||
if *paired.HolmPValue != *paired.PValue {
|
||||
t.Errorf("holm p %v in a family of one, want the raw %v", *paired.HolmPValue, *paired.PValue)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -665,7 +665,7 @@ func TestPlanted_PairedNullIsNotCalledSignificantAboveItsLevel(t *testing.T) {
|
||||
for replicate := 0; replicate < replicates; replicate++ {
|
||||
first, second := plantTwoArms(t, int64(5000+replicate), 30, model, model)
|
||||
result := analyseCampaigns(t, "--paired", first, second)
|
||||
if result.Paired.PValue < 0.05 {
|
||||
if *result.Paired.PValue < 0.05 {
|
||||
rejected++
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user