Learn R Programming

fda (version 2.4.0)

tperm.fd: Permutation t-test for two groups of functional data objects.

Description

tperm.fd creates a null distribution for a test of no difference between two groups of functional data objects.

Usage

tperm.fd(x1fd, x2fd, nperm=200, q=0.05, argvals=NULL, plotres=TRUE, ...)

Arguments

x1fd
a functional data object giving the first group of functional observations.
x2fd
a functional data object giving the second group of functional observations.
nperm
number of permutations to use in creating the null distribution.
q
Critical upper-tail quantile of the null distribution to compare to the observed t-statistic.
argvals
If yfdPar is a fd object, the points at which to evaluate the point-wise t-statistic.
plotres
Argument to plot a visual display of the null distribution displaying the 1-qth quantile and observed t-statistic.
...
Additional plotting arguments that can be used with plot.

Value

  • A list with the following components:
  • pvalthe observed p-value of the permutation test.
  • qvalthe qth quantile of the null distribution.
  • Tobsthe observed maximal t-statistic.
  • Tnulla vector of length nperm giving the observed values of the permutation distribution.
  • Tvalsthe pointwise values of the observed t-statistic.
  • Tnullvalsthe pointwise values of of the permutation observations.
  • pvals.ptspointwise p-values of the t-statistic.
  • qvals.ptspointwise qth quantiles of the null distribution
  • argvalsargument values for evaluating the F-statistic if yfdParis a functional data object.

Side Effects

a plot of the functional observations

source

Ramsay, James O., and Silverman, Bernard W. (2006), Functional Data Analysis, 2nd ed., Springer, New York.

Details

The usual t-statistic is calculated pointwise and the test based on the maximal value. If argvals is not specified, it defaults to 101 equally-spaced points on the range of yfdPar.

See Also

fRegress Fstat.fd

Examples

Run this code
# This tests the difference between boys and girls heights in the
# Berkeley growth data.

# First set up a basis system to hold the smooths

knots  <- growth$age
norder <- 6
nbasis <- length(knots) + norder - 2
hgtbasis <- create.bspline.basis(range(knots), nbasis, norder, knots)

# Now smooth with a fourth-derivative penalty and a very small smoothing
# parameter

Lfdobj <- 4
lambda <- 1e-2
growfdPar <- fdPar(hgtbasis, Lfdobj, lambda)

hgtmfd <- smooth.basis(growth$age, growth$hgtm, growfdPar)$fd
hgtffd <- smooth.basis(growth$age, growth$hgtf, growfdPar)$fd

# Call tperm.fd

tres <- tperm.fd(hgtmfd,hgtffd)

Run the code above in your browser using DataLab