Usando mutate para criar uma nova coluna com o primeiro valor de cada grupo em R

Atualmente, estou trabalhando em um projeto de pesquisa do Sabermetric e fiquei o dia todo tentando criar uma nova coluna em um quadro de dados que exibe o arremessador inicial de um determinado jogo. Basicamente, se eu usar a amostra abaixo, tenho dados para 'a' e 'b', mas não consigo descobrir como criar 'c' para ser o primeiro valor de 'b' para cada valor exclusivo de 'a ' Isso deve ser fácil, mas comecei a aprender R.

    a   b   c
1   1   1   1
2   1   2   1
3   1   3   1
4   1   4   1
5   1   5   1
6   1   6   1
7   2   7   7
8   2   8   7
9   2   1   7
10  2   2   7
11  2   3   7
12  2   4   7
13  3   5   5
14  3   6   5
15  3   7   5

Até agora eu useimutate egroup_by inventarsample <- sample %>% group_by(a) %>% mutate(c = first(b)) Mas isso apenas fazcada valor de 'c' o primeiro valor do primeiro 'b'. Portanto, no exemplo acima, meu código atual faz com que todo valor de 'c' seja igual a 1. Estou perdendo alguma coisa, alguma sugestão?

questionAnswers(3)

yourAnswerToTheQuestion