You DEFINITELY have done the right thing!
I was engaged just under 18 months back for just under 23 months and I had the exact same problem!! He blames his job for the stress and anger but in the end I saw the reality of the situation and thought to myself "You know what, I'm not standing for this anymore" So one day I waited until he got home and as part of his routine he'd start as soon as he came through the door and I stood up and told him a few home truths thats I wasn't standing for this anymore, I derserved better and that I'd spoken to him about it previously, he promised he'd change , but DIDN'T and so told him I was GONE FOR GOOD!
He of course tried to contact me after to make amends, but I threw them off and convinced myself I deserved better, and could do better. Now a further 18 months down the line, i'm with the best partner ever and he treats me with the upmost respect and likewise
Leaving him was the BEST thing I ever did!!!