rename mutate -> transform
by: accepts keyword arguments to produce summary

    by(t, t.name, sum=t.amount.sum(), id_count=t.id.count())