Existe uma distinção entre mensagens de **erro** e mensagens de **aviso**. Apesar dessas mensagens de **aviso**, a alteração no locale produziu os resultados esperados para mim.
> x <- sprintf("Matricula: %s \n Peso: %2.2f", '123.4', 47.5)
> x
[1] "Matricula: 123.4 \n Peso: 47.50"
>
> ## Sys.getlocale()
> Sys.setlocale("LC_NUMERIC","pt_BR.utf8")
[1] "pt_BR.utf8"
Mensagens de aviso perdidas:
In Sys.setlocale("LC_NUMERIC", "pt_BR.utf8") :
espeficação de 'LC_NUMERIC' pode fazer o R funcionar de forma estranha
> sprintf("Matricula: %s \n Peso: %2.2f", '123.4', 47.5)
[1] "Matricula: 123.4 \n Peso: 47,50"
À disposição.
Walmes.