force possible factors to character vectors before replacing missing
values with non-existing factor level