先建立逐局表,不要直接给空白补零
先确定字段是“同一球员每局最高单杆”,不是全场最高单杆,也不是该局全部得分。将比赛编号、局序号和球员编号组合成一条记录的身份,避免同一局从两个来源抄入两次。数值和状态分栏,原文写空白就保留空白。
| 局序号 | 原始值 | 状态 | 纳入均值 |
|---|---|---|---|
| 1 | 40 | 已确认 | 是 |
| 2 | 空白 | 来源未给数值 | 否 |
| 3 | 60 | 已确认 | 是 |
| 4 | 20 | 已确认 | 是 |
本例四局都已经完成,但第二局的最高单杆资料缺失。已知数值合计40+60+20=120,已知局数3,所以已知样本的平均最高单杆是120÷3=40,字段覆盖率是3÷4。准确结果要同时报“已知3局平均40,4局中缺1局”,不能只报平均40,暗示所有局都已统计。
若将第二局填为零,再除以4,就会得到30。错误不在除法,而在把未知结果改写成了已确认零值。四局的完整平均值此时未知,不能拿已知三局均值替代。缺失也未必随机:某种来源可能只收录高分单杆,因此已知部分不能自动代表全部比赛。
来源明确给出零时,分母应该怎样变化
继续这个假设,另有已经完成的第五局,其原始资料明确说明该球员没有取得任何得分单杆,数值确认为0。现在五局中已知四局,合计仍为120,均值为120÷4=30,覆盖率为4÷5。这个30有依据,与上一节擅自补零算出的30意义完全不同。
若第五局只是“未打”或因比赛提前结束而不需要进行,它不属于实际完成的五局,应另存未进行状态,不能纳入已打局分母。若来源里的短横线含义没有说明,也应先记“标记含义未确认”,不能自作主张把它解释为零、未打或退赛。
补回第二局资料时,更新原行而不是新增一局
回到最初四局的表,不含第五局。后来第二局核实为80,应按原来的比赛、局序号和球员编号找到第二行,保留原空白及读取时间,再将当前数值改为80、状态改为已确认。不能把80追加成第五条比赛记录,否则同一局会同时以空白和80出现。
重算后数值为40、80、60、20,合计200,已知局数4,平均200÷4=50,覆盖率4÷4。变更记录可以写:“第二局由未知补为80;合计120变200;可用局数3变4;已知均值40变50。”这说明资料补全,不证明球员在更新网页的这段时间里状态提高。
若随后原来源将80更正为70,应替换当前值而非再加70:新合计40+70+60+20=190,平均190÷4=47.5。保存两个版本及更正依据,当前统计只使用最新核实版本。如果两个来源一个写80、一个写70且无法核实,应标记冲突,不取看起来更好的一项,也不擅自平均成75。
合并记录前做三项可以复算的检查
第一,检查身份键是否唯一。相同球员在同一比赛的同一局只能有一条当前有效记录;不同球员各自的最高单杆不能合并为一个人的值。第二,检查状态与数值是否一致。已确认行必须有合格数值,缺失或冲突行不进入当前均值;来源明确的零值必须保留,不能误删。
第三,重新生成三个中间结果:当前已确认数值之和、当前已确认局数、实际已完成局数。均值使用前两者,覆盖率使用后两者。没有任何已确认局时,均值写未知,不能计算零除以零。只有部分比赛提供这个字段时,还应按来源拆开覆盖率,防止不同收录标准造成虚假的横向比较。
最终交付表应同时带上原始值、当前值、状态、原记录位置与修订说明。另一位整理者只看这张表,就能够复算120÷3、200÷4和190÷4分别来自哪些行,而不需要猜测空白曾经被如何处理。这里计算的是各局最高单杆的平均值,不是所有上手单杆的平均分,更不是预测下一场结果。