contents
is a generic method for which contents.data.frame
is currently the only method. contents.data.frame
creates an
object containing the following attributes of the variables
from a data frame: names, labels (if any), units (if any), number of
factor levels (if any), factor levels,
class, storage mode, and number of NAs. print.contents.data.frame
will print the results, with options for sorting the variables.
html.contents.data.frame
creates HTML code for displaying the
results. This code has hyperlinks so that if the user clicks on the
number of levels the browser jumps to the correct part of a table of
factor levels for all the factor
variables. If long labels are
present ("longlabel"
attributes on variables), these are printed
at the bottom and the html
method links to them through the
regular labels. Variables having the same levels
in the same
order have the levels factored out for brevity.
contents.list
prints a directory of datasets when
sasxport.get
imported more than one SAS dataset.
If options(prType='html')
is in effect, calling print
on
an object that is the contents of a data frame will result in
rendering the HTML version. If run from the console a browser window
will open.
contents(object, ...)
# S3 method for data.frame
contents(object, sortlevels=FALSE, id=NULL,
range=NULL, values=NULL, ...)
# S3 method for contents.data.frame
print(x,
sort=c('none','names','labels','NAs'), prlevels=TRUE, maxlevels=Inf,
number=FALSE, ...)
# S3 method for contents.data.frame
html(object,
sort=c('none','names','labels','NAs'), prlevels=TRUE, maxlevels=Inf,
levelType=c('list','table'),
number=FALSE, nshow=TRUE, ...)
# S3 method for list
contents(object, dslabels, ...)
# S3 method for contents.list
print(x,
sort=c('none','names','labels','NAs','vars'), ...)
an object of class "contents.data.frame"
or
"contents.list"
. For the html
method is an html
character vector object.
a data frame. For html
is an object created by
contents
. For contents.list
is a list of data frames.
set to TRUE
to sort levels of all factor
variables into alphabetic order. This is especially useful when two
variables use the same levels but in different orders. They will
still be recognized by the html
method as having identical
levels if sorted.
an optional subject ID variable name that if present in
object
will cause the number of unique IDs to be printed in
the contents header
an optional variable name that if present in object
will cause its range to be printed in the contents header
an optional variable name that if present in
object
will cause its unique values to be printed in the
contents header
an object created by contents
Default is to print the variables in their original order in the
data frame. Specify one of
"names"
, "labels"
, or "NAs"
to sort the variables by,
respectively, alphabetically by names, alphabetically by labels, or by
increaseing order of number of missing values. For
contents.list
, sort
may also be the value
"vars"
to cause sorting by the number of variables in the dataset.
set to FALSE
to not print all levels of factor
variables
maximum number of levels to print for a factor
variable
set to TRUE
to have the print
and latex
methods
number the variables by their order in the data frame
set to FALSE
to suppress outputting number of
observations and number of NA
s; useful when these counts
would unblind information to blinded reviewers
By default, bullet lists of category levels are
constructed in html. Set levelType='table'
to put levels in
html table format.
arguments passed from html
to format.df
,
unused otherwise
named vector of SAS dataset labels, created for
example by sasdsLabels
Frank Harrell
Vanderbilt University
fh@fharrell.com
describe
, html
, upData
,
extractlabs
, hlab
set.seed(1)
dfr <- data.frame(x=rnorm(400),y=sample(c('male','female'),400,TRUE),
stringsAsFactors=TRUE)
contents(dfr)
dfr <- upData(dfr, labels=c(x='Label for x', y='Label for y'))
attr(dfr$x, 'longlabel') <-
'A very long label for x that can continue onto multiple long lines of text'
k <- contents(dfr)
print(k, sort='names', prlevels=FALSE)
if (FALSE) {
html(k)
html(contents(dfr)) # same result
latex(k$contents) # latex.default just the main information
}
Run the code above in your browser using DataLab