Centering a value of a matrix

A simple way would be to use the nicematrix package.

\documentclass{article}
\usepackage{nicematrix}
\begin{document}
$\begin{pNiceArray}{CCCC} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \Block{2-2}{R} & \\ 0 & 0 & & \end{pNiceArray}$
\end{document}


Raise it into place:

\documentclass{article}

\usepackage{amsmath}

\begin{document}

$\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 \\ 0 & 0 & \multicolumn{2}{c}{\raisebox{.5\normalbaselineskip}[0pt][0pt]{R}} \end{pmatrix}$

\end{document}


A solution that keeps the existing pmatrix setup and combines \multicolumn and \multirow directives:

\documentclass{article}
\usepackage{amsmath,multirow}
\begin{document}
$\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \multicolumn{2}{c}{\multirow{2}{*}{R}} \\ 0 & 0 \end{pmatrix}$
\end{document}


In short, all you need to do is replace \multicolumn{2}{l}{\multirow{R}} in row 3 of your code with \multicolumn{2}{c}{\multirow{2}{*}{$R$}} and delete \multicolumn{2}{l}{} in row 4 of the pmatrix.