NormalAndTplot: Specify plots to illustrate Normal and t Hypothesis Tests or...

View source: R/normal.and.t.R

NormalAndTplotR Documentation

Specify plots to illustrate Normal and t Hypothesis Tests or Confidence Intervals.

Description

Specify plots to illustrate Normal and t Hypothesis Tests or Confidence Intervals.

Usage

NormalAndTplot(mean0, ...)
## Default S3 method:
NormalAndTplot(mean0=0,
             mean1=NA,
             xbar=NA,
             df=Inf, n=1,
             sd=1,
             xlim=c(-3, 3)*sd/sqrt(n) + range(c(mean0, mean1, xbar), na.rm=TRUE),
             ylim, alpha.right=.05, alpha.left=0,
             float=TRUE, ntcolors="original",
             digits=4, digits.axis=digits, digits.float=digits,
             distribution.name=c("normal","z","t","binomial"),
             type=c("hypothesis", "confidence"),
             zaxis=FALSE, z1axis=FALSE,
             cex.z=.5, cex.xbar=.5, cex.y=.5, cex.prob=.6, cex.top.axis=1,
             cex.left.axis=1, cex.pb.axis=1,
             cex.xlab=1, cex.ylab=1.5, cex.strip=1,
             main=NA, xlab, ylab,
             prob.labels=(type=="hypothesis"),
             xhalf.multiplier=1,
             yhalf.multiplier=1,
             cex.main=1,
             key.axis.padding=4.5,
             number.vars=1,
             sub=NULL,
             NTmethod="default",
             power=FALSE,
             beta=FALSE,
              ...)
## S3 method for class 'htest'
NormalAndTplot(mean0, type="hypothesis", xlim=NULL, mean1=NA, ...,
             xbar, sd, df, n, alpha.left, alpha.right, ## ignored
             distribution.name, sub ## these input arguments will be ignored
             )

Arguments

mean0

Null hypothesis \mu_0. When graphing a confidence interval, mean0 will be used for xbar should xbar itself have the value NA. For the htest method, mean0 is an "htest" object. See NTplot for more information.

mean1

Alternative hypothesis \mu_1.

xbar

Observed \bar{x}.

sd

Standard deviation in the data scale \sigma for normal-, or s for t-distribution.

df

Degrees of freedom for t-distribution.

n

Number of observations per group.

main, xlab, ylab, xlim, ylim, sub

Standard xyplot arguments. Default values are constructed if these arguments are missing. The input value main=NA forces a new constructed main instead of using the main coming in through the htest methods.

...

Additional xyplot arguments.

number.vars

Number of variables. 1 for a one-sample test, 2 for two-sample tests and paired tests.

alpha.left, alpha.right

For type="hypothesis", the sum of these two numbers is the probability of the Type I Error \alpha. When both of these numbers are positive, there is a two-sided test. Note that it is not required that they be equal. If one of the numbers is 0, then it is a one-sided test. For type="confidence", 1 minus the sum of these two numbers is the confidence level.

float

Logical. If TRUE, then the probabilities \alpha, \beta, power, and p-values or the confidence value are displayed on the graph. If FALSE, these values are not displayed.

ntcolors

Vector of colors used in the graph. The default value is "original" and two named alternatives are "stoplight" and "BW". The sets of colors associated with these three named sets are shown in a dontrun section of the examples. The user can enter any other color scheme by specifying a vector of ten named colors. The names are: col.alpha, col.notalpha, col.beta, col.power, col.pvalue, col.pvaluetranslucent, col.critical, col.border, col.text, col.conf.

digits.axis, digits.float, digits

digits.axis is the number of significant digits for the top axis. digits.float is the number of significant digits for the floating probability values on the graph. digits is a convenience argument to set both digits.axis and digits.float at the same time. These number is passed to the format function.

distribution.name

Name of distribution.

type

"hypothesis" for a Hypothesis Test graph, or "confidence" for a Confidence Interval graph.

zaxis, z1axis

Logical or list. Should the z-axis centered on \mu_0, or the z_1-axis centered on \mu_1, be displayed? The list version of the argument must have two components at and labels as specified in panel.axis.

cex.z, cex.xbar, cex.y, cex.prob, cex.top.axis, cex.left.axis, cex.pb.axis, cex.xlab, cex.ylab, cex.strip, cex.main

cex.z is the cex value for the z and z_1 axes on the plot. cex.prob is the cex value for the floating probabilities on the graph. cex.top.axis is the cex value for the top axis values. cex.main is the cex value for the main title. cex.xbar and cex.y are the cex values for the horizontal and vertical axes of the plot. cex.left.axis and cex.pb.axis are the cex values for the power or beta (Type II error) values and the \mu_1 value in the power and beta plots. cex.xlab, cex.ylab, and cex.strip are the cex values for xlab, ylab, and strip labels.

key.axis.padding

tuning constant to create additional room above the graph for a larger cex.main to fit.

prob.labels

logical. If TRUE label the floating probability values with their name, such as \alpha. If FALSE, then don't label them. The default is TRUE for type="hypothesis" and FALSE for type="confidence".

xhalf.multiplier, yhalf.multiplier

Numerical tuning constants to control the width and height of the floating probability values. Empirically, we need a smaller value for the shiny app then we need for direct writing onto a graphic device.

NTmethod

Character string used when shiny=TRUE. It is normally calculated by the methods. NTmethod tells shiny how to use or ignore the df and n sliders.

"htest" objects by default are interpreted as a single observation (n=1) of a t-statistic with df degrees of freedom. The slider will let the user change the df, but not the n.

"power.htest" objects are interpreted as a set of n obervations per group and df is calculated as (n-1) for single-sample tests and as 2(n-1) for two-sample tests. The slider will let the user change n and will calculate the revised df.

For the normal approximation to the binomial (distribution.name="binomial"), only n is meaningful. The df is always ignored.

For the default situation of t, determined by the initially specified sample size n>1, the degrees of freedom is calculated as (n-1) for single-sample tests and as 2(n-1) for two-sample tests. The default z, is initially specified by a sample size n=1.

In all cases except the "binomial", the user can change the interpretation of the n and df sliders. The interpretation when both n and df are under user control is not always obvious.

power, beta

Logical. If TRUE, then display that graph, else don't display it. Passed forward to powerplot.

Details

The graphs produced by this single function cover most of the first semester introductory Statistics course. The htest method plots the results of the stats::t.test function.

NormalAndTplot is built on xyplot. Most of the arguments detailed in xyplot documentation work to control the appearance of the plot.

Value

"trellis" object.

Note

This function is built on lattice and latticeExtra. It supersedes the similar function normal.and.t.dist built on base graphics that is used in many displays in the book by Erich Neuwirth and me: R through Excel, Springer (2009). https://link.springer.com/book/10.1007/978-1-4419-0052-4. Many details, particularly the alternate color scheme and the concept of floating probability labels, grew out of discussions that Erich and I have had since the book was published. The method for "htest" objects incorporates ideas that Jay Kerns and I developed at the 2011 UseR! conference. This version incorporates some ideas suggested by Moritz Heene.

Author(s)

Richard M. Heiberger (rmh@temple.edu)

See Also

NTplot

Examples

   NTplot(mean0=0, mean1=2,  xbar=1.8,  xlim=c(-3, 5))
   NTplot(mean0=0, mean1=2,  xbar=1.8,  xlim=c(-3, 5), distribution.name="t", df=4)
   NTplot(mean0=100, sd=12, mean1=113,  xbar=105,  xlim=c(92, 120), n=20)
   NTplot(mean0=100, sd=12, mean1=113,  xbar=105,  xlim=c(92, 120), n=20,
          zaxis=TRUE, z1axis=TRUE)
   NTplot(mean0=100, sd=12,  xbar=105,  xlim=c(92, 108), n=20, ntcolors="stoplight")
   NTplot(xbar=95, sd=10, xlim=c(65, 125), type="confidence",
          alpha.left=.025, alpha.right=.025)


x <- rnorm(12, mean=.78)
x.t <- t.test(x)
NTplot(x.t)
NTplot(x.t, type="confidence")
x.tg <- t.test(x, alternative="greater")
NTplot(x.tg)

y <- rnorm(12, mean=-.05)
xy.t <- t.test(x, y)
NTplot(xy.t)
NTplot(xy.t, type="confidence")

## Not run: 
  if (interactive())
    NTplot(shiny=TRUE)  ## with any other arguments for initialization of the shiny app.

## End(Not run)

## Not run: 
   ##  The partially transparent colors are:
   black127="#0000007F" ## HH:::ColorWithAlpha("black")
   green127="#00FF007F" ## HH:::ColorWithAlpha("green")
   blue127 ="#0000FF7F" ## HH:::ColorWithAlpha("blue")


## this is the default set of colors that are assigned when
## ntcolors="original" or when ntcolors is not specified
c(col.alpha = "blue",
  col.notalpha = "lightblue",
  col.beta = "red",
  col.power = "pink",
  col.pvalue = "green",
  col.pvaluetranslucent = green127,
  col.critical = "gray50",
  col.border = black127,
  col.text = "black",
  col.conf = "lightgreen")

  NTplot(                 )
  NTplot(mean1 = 2,       )
  NTplot(           xbar=1)
  NTplot(mean1 = 2, xbar=1)
  NTplot(type="confidence")


## this is the set of colors that are assigned when ntcolors="stoplight"
c(col.alpha = "red",
  col.notalpha = "honeydew2",
  col.beta = "orange",
  col.power = "pink",
  col.pvalue = "blue",
  col.pvaluetranslucent = blue127,
  col.critical = "gray50",
  col.border = black127,
  col.text = "black",
  col.conf = "lightgreen")

  NTplot(                   ntcolors="stoplight")
  NTplot(mean1 = 2,         ntcolors="stoplight")
  NTplot(           xbar=1, ntcolors="stoplight")
  NTplot(mean1 = 2, xbar=1, ntcolors="stoplight")
  NTplot(type="confidence", ntcolors="stoplight")

## this is the set of colors that are assigned when ntcolors="BW"
c(col.alpha             = "gray35",
  col.notalpha          = "gray85",
  col.beta              = "gray15",
  col.power             = "gray40",
  col.pvalue            = "gray50",
  col.pvaluetranslucent = HH:::ColorWithAlpha("gray65"),
  col.critical          = "gray15",
  col.border            = "gray75",
  col.text              = "black",
  col.conf              = "gray45")

  NTplot(                   ntcolors="BW")
  NTplot(mean1 = 2,         ntcolors="BW")
  NTplot(           xbar=1, ntcolors="BW")
  NTplot(mean1 = 2, xbar=1, ntcolors="BW")
  NTplot(type="confidence", ntcolors="BW")


## End(Not run)

## Not run: 
## mean1 and xbar
  NTplot(mean0=0, mean1=2,  xbar=1.8,  xlim=c(-3, 5))
  NTplot(mean0=0, mean1=-2, xbar=-1.8, xlim=c(-5, 3),
         alpha.left=.05,  alpha.right=0)
  NTplot(mean0=0, mean1=2,  xbar=2.1,  xlim=c(-3, 5),
         alpha.left=.025, alpha.right=.025)
  NTplot(mean0=0, mean1=-2, xbar=-2.1, xlim=c(-5, 3),
         alpha.left=.025, alpha.right=.025)

## mean1
  NTplot(mean0=0, mean1=2,  xbar=NA, xlim=c(-3, 5))
  NTplot(mean0=0, mean1=-2, xbar=NA, xlim=c(-5, 3),
         alpha.left=.05,  alpha.right=0)
  NTplot(mean0=0, mean1=2,  xbar=NA, xlim=c(-3, 5),
         alpha.left=.025, alpha.right=.025)
  NTplot(mean0=0, mean1=-2, xbar=NA, xlim=c(-5, 3),
         alpha.left=.025, alpha.right=.025)

## xbar
  NTplot(mean0=0, mean1=NA, xbar=1.8,  xlim=c(-3, 5))
  NTplot(mean0=0, mean1=NA, xbar=-1.8, xlim=c(-5, 3),
         alpha.left=.05,  alpha.right=0)
  NTplot(mean0=0, mean1=NA, xbar=2.1,  xlim=c(-3, 5),
         alpha.left=.025, alpha.right=.025)
  NTplot(mean0=0, mean1=NA, xbar=-2.1, xlim=c(-5, 3),
         alpha.left=.025, alpha.right=.025)

## t distribution
## mean1 and xbar
  NTplot(mean0=0, mean1=2,  xbar=1.8,  xlim=c(-3, 5),
         distribution.name="t", df=4)
  NTplot(mean0=0, mean1=-2, xbar=-1.8, xlim=c(-5, 3),
         alpha.left=.05,  alpha.right=0, distribution.name="t", df=4)
  NTplot(mean0=0, mean1=2,  xbar=2.1,  xlim=c(-3, 5),
         alpha.left=.025, alpha.right=.025, distribution.name="t", df=4)
  NTplot(mean0=0, mean1=-2, xbar=-2.1, xlim=c(-5, 3),
         alpha.left=.025, alpha.right=.025, distribution.name="t", df=4)

## mean1
  NTplot(mean0=0, mean1=2,  xbar=NA, xlim=c(-3, 5),
         distribution.name="t", df=4)
  NTplot(mean0=0, mean1=-2, xbar=NA, xlim=c(-5, 3),
         alpha.left=.05,  alpha.right=0, distribution.name="t", df=4)
  NTplot(mean0=0, mean1=2,  xbar=NA, xlim=c(-3, 5),
         alpha.left=.025, alpha.right=.025, distribution.name="t", df=4)
  NTplot(mean0=0, mean1=-2, xbar=NA, xlim=c(-5, 3),
         alpha.left=.025, alpha.right=.025, distribution.name="t", df=4)

## xbar
  NTplot(mean0=0, mean1=NA, xbar=1.8,  xlim=c(-3, 5),
         distribution.name="t", df=4)
  NTplot(mean0=0, mean1=NA, xbar=-1.8, xlim=c(-5, 3),
         alpha.left=.05,  alpha.right=0, distribution.name="t", df=4)
  NTplot(mean0=0, mean1=NA, xbar=2.1,  xlim=c(-3, 5),
         alpha.left=.025, alpha.right=.025, distribution.name="t", df=4)
  NTplot(mean0=0, mean1=NA, xbar=-2.1, xlim=c(-5, 3),
         alpha.left=.025, alpha.right=.025, distribution.name="t", df=4)

## confidence intervals

  NTplot(mean0=0, xlim=c(-3, 4), type="confidence")
  NTplot(xbar=01, xlim=c(-3, 4), type="confidence")
  NTplot(mean0=0, xlim=c(-4, 3), type="confidence",
         alpha.left=.05,  alpha.right=0)
  NTplot(mean0=0, xlim=c(-3, 3), type="confidence",
         alpha.left=.025, alpha.right=.025)
  NTplot(mean0=95, sd=10, xlim=c(65, 125), type="confidence",
         alpha.left=.025, alpha.right=.025)
  NTplot(mean0=95, sd=10, xlim=c(65, 125), type="confidence",
         alpha.left=.025, alpha.right=.025,
         distribution="t", df=10)


## End(Not run)

HH documentation built on May 29, 2024, 6:24 a.m.

Related to NormalAndTplot in HH...