Can't reproduce those with your code and your dataset.
I also noticed some other unwanted behaviour by using as.numeric : it
changes the formatting again. You won't get rid of the "" as that
indicates it's a character, and you won't be able to format the
numbers as the columns in a dataframe or in a matrix have all the same
formatting.

If you want to generate output for a function or so, you can play
around with cat() (see ?cat ). If it's for a report, think about using
latex or HTML and the xtable package. There are other options, but
that requires a bit more info.