character vectors used for names (e.g. colnames for matrices or data.frames)
are often treated by
base::make.names() or similar functions that
produce suitable names (e.g. by prepending "X" to numbers). Such names
cannot be directly converted to numeric.
character with numbers hidden inside
extract_numbers() tries to extract numbers from X which may be
surrounded by such "protecting" characters.