dn
Plots a normal density curve and/or a general density curve superimposed over a histogram, all estimated from the data. Also reports the Shapiro-Wilk normality test and summary statistics.
Density(x, data=mydata, bw="nrd0", type=c("both", "general", "normal"),
bin.start=NULL, bin.width=NULL,
col.fill=getOption("col.fill.pt"),
col.bg=getOption("col.bg"),
col.grid=getOption("col.grid"),
col.nrm="black", col.gen="black",
col.fill.nrm="transparent", col.fill.gen="transparent",
cex.axis=.85, col.axis="gray30", col.ticks="gray30",
x.pt=NULL, xlab=NULL, main=NULL, y.axis=FALSE,
x.min=NULL, x.max=NULL, band=FALSE,
quiet=getOption("quiet"),
pdf.file=NULL, pdf.width=5, pdf.height=5, ...)
dn(...)
mydata
.bin.start
value."blue"
) is to
display the histogram in a light gray. To suppress, the histogram,
specify a color of "transparent"
.type=general
.TRUE
, add a rug plot, a direct display of density in the form of a
narrow band beneath the density curveTRUE
, no text output. Can change system default
with set
function.plot
, including xlim
, ylim
, lwd
and cex.lab
,
col.main
, density
dnorm
function and density
R functions for estimating densities from data, as well as the hist
function for calculating a histogram. Colors are provided by default and can also be specified.The default histogram can be modified with the bin.start
and bin.width
options. Use the Histogram
function in this package for more control over the parameters of the histogram.
The limits for the axes are automatically calculated so as to provide sufficient space for the density curves and histogram, and should generally not require user intervention. Also, the curves are centered over the plot window so that the resulting density curves are symmetric even if the underlying histogram is not. The estimated normal curve is based on the corresponding sample mean and standard deviation.
If x.pt
is specified, then type
is set to general and y.axis
set to TRUE
.
DATA
The data may either be a vector from the global enviornment, the user's workspace, as illustrated in the examples below, or a variable in a data frame. The default input data frame is mydata
. Specify a different data frame name with the data
option. Regardless of its name, the variables in the data frame are referenced directly by their names, that is, no need to invoke the standard R
mechanisms of the mydata$name
notation, the with
function or the attach
function. If the name of vector in the global environment and of a variable in the input data frame are the same, the vector is analyzed.
COLOR THEME
Individual colors in the plot can be manipulated with options such as col.bars
for the color of the histogram bars. A color theme for all the colors can be chosen for a specific plot with the colors
option with the lessR
function set
. The default color theme is blue
, but a gray scale is available with "gray"
, and other themes are available as explained in set
, such as "red"
and "green"
. Use the option ghost=TRUE
for a black background, no grid lines and partial transparency of plotted colors.
VARIABLE LABELS
If variable labels exist, then the corresponding variable label is by default listed as the label for the horizontal axis and on the text output. For more information, see Read
.
PDF OUTPUT
Because of the customized graphic windowing system that maintains a unique graphic window for the Help function, the standard graphic output functions such as pdf
do not work with the lessR
graphics functions. Instead, to obtain pdf output, use the pdf.file
option, perhaps with the optional pdf.width
and pdf.height
options. These files are written to the default working directory, which can be explicitly specified with the R setwd
function.
ONLY VARIABLES ARE REFERENCED
The referenced variable in a lessR
function can only be a variable name. This referenced variable must exist in either the referenced data frame, mydata
by default, or in the user's workspace, more formally called the global environment. That is, expressions cannot be directly evaluated. For example:
> Density(rnorm(50)) # does NOT work}
Instead, do the following: > Y <- rnorm(50) # create vector Y in user workspace > Density(Y) # directly reference Y
R
function density
, invisibly returns an object of class
"density". For details see density
.
[object Object],[object Object]
dnorm
, density
, hist
, plot
, rgb
, shapiro.test
.
# normal curve and general density curves superimposed over histogram # all defaults Density(y)
# short name dn(y)
# save the density plot to a pdf file Density(y, pdf.file="MyDensityPlot.pdf")
# suppress the histogram, leaving only the density curves # specify x-axis label per the xlab option for the plot function Density(y, col.bars="transparent", xlab="My Var")
# specify (non-transparent) colors for the curves, # to make transparent, need alpha option for the rgb function Density(y, col.nrm="darkgreen", col.gen="plum")
# display only the general estimated density # so do not display the estimated normal curve # specify the bandwidth for the general density curve, # use the standard bw option for the density function Density(y, type="general", bw=.6)
# display only the general estimated density and a corresponding # interval of unit width around x.pt Density(y, type="general", x.pt=2)
# create data frame, mydata, to mimic reading data with rad function # although data not attached, access the variable directly by its name mydata <- data.frame(rnorm(100)) names(mydata) <- "X" Density(X)
# variable of interest is in a data frame which is not the default mydata
# access the breaks variable in the R provided warpbreaks data set
# although data not attached, access the variable directly by its name
data(warpbreaks)
Density(breaks, data=warpbreaks)