Adding a  class "factor" will ensure that numeric codes are
  given integer storage mode.  For historical reasons (these names are used when deparsing),
  attributes ".Dim", ".Dimnames", ".Names",
  ".Tsp" and ".Label" are renamed to "dim",
  "dimnames", "names", "tsp" and "levels".
  It is possible to give the same tag more than once, in which case the
  last value assigned wins.  As with other ways of assigning attributes,
  using tag = NULL removes attribute tag from .Data if
  it is present.