Use data editor on data frame or matrix contents.
# S3 method for data.frame
edit(name, factor.mode = c("character", "numeric"),
edit.row.names = any(row.names(name) != 1:nrow(name)), …)# S3 method for matrix
edit(name, edit.row.names = !is.null(dn[[1]]), …)
A data frame or (numeric, logical or character) matrix.
How to handle factors (as integers or using character levels) in a data frame. Can be abbreviated.
logical. Show the row names (if they exist) be
displayed as a separate editable column? It is an error to ask for
this on a matrix with NULL
row names.
further arguments passed to or from other methods.
The edited data frame or matrix.
At present, this only works on simple data frames containing numeric, logical or character vectors and factors, and numeric, logical or character matrices. Any other mode of matrix will give an error, and a warning is given when the matrix has a class (which will be discarded).
Data frame columns are coerced on input to character unless
numeric (in the sense of is.numeric
), logical or factor. A
warning is given when classes are discarded. Special characters
(tabs, non-printing ASCII, etc.) will be displayed as escape sequences.
Factors columns are represented in the spreadsheet as either numeric
vectors (which are more suitable for data entry) or character vectors
(better for browsing). After editing, vectors are padded with
NA
to have the same length and factor attributes are restored.
The set of factor levels can not be changed by editing in numeric
mode; invalid levels are changed to NA
and a warning is issued.
If new factor levels are introduced in character mode, they are added
at the end of the list of levels in the order in which they
encountered.
It is possible to use the data-editor's facilities to select the mode of columns to swap between numerical and factor columns in a data frame. Changing any column in a numerical matrix to character will cause the result to be coerced to a character matrix. Changing the mode of logical columns is not supported.
For a data frame, the row names will be taken from the original object
if edit.row.names = FALSE
and the number of rows is unchanged,
and from the edited output if edit.row.names = TRUE
and there
are no duplicates. (If the row.names
column is incomplete, it
is extended by entries like row223
.) In all other cases the
row names are replaced by seq(length = nrows)
.
For a matrix, colnames will be added (of the form col7
) if
needed. The rownames will be taken from the original object if
edit.row.names = FALSE
and the number of rows is unchanged
(otherwise NULL
), and from the edited output if
edit.row.names = TRUE
. (If the row.names
column is
incomplete, it is extended by entries like row223
.)
Editing a matrix or data frame will lose all attributes apart from the row and column names.
# NOT RUN {
edit(InsectSprays)
edit(InsectSprays, factor.mode = "numeric")
# }
Run the code above in your browser using DataLab