I(x)"AsIs" prepended to the class(es).
I has two main uses.
data.frame. Protecting an object by
enclosing it in I() in a call to data.frame inhibits the
conversion of character vectors to factors and the dropping of
names, and ensures that matrices are inserted as single columns.
I can also be used to protect objects which are to be
added to a data frame, or converted to a data frame via
as.data.frame. It achieves this by prepending the class "AsIs" to the object's
classes. Class "AsIs" has a few of its own methods, including
for [, as.data.frame, print and format.
formula. There it is used to
inhibit the interpretation of operators such as "+",
"-", "*" and "^" as formula operators, so they
are used as arithmetical operators. This is interpreted as a symbol
by terms.formula.
data.frame, formula