Source code for mltype.stats

"""Computation of various statistics."""

from collections import defaultdict

from mltype.base import STATUS_CORRECT


[docs]def times_per_character(tt): """Compute per caracter analysis. Parameters ---------- tt : TypedText Instance of the ``TypedText``. Returns ------- stats : dict Keys are characters and values are list of time intervals it took to write the last correct instance. """ unrolled_actions = tt.unroll_actions() stats = defaultdict(list) for i, (ix, a) in enumerate(unrolled_actions[1:]): if a.status != STATUS_CORRECT: continue delta = (a.ts - unrolled_actions[i][1].ts).total_seconds() stats[tt.text[ix]].append(delta) return stats