Functional ANOVA with Random Project.
The procedure is based on the analysis of randomly chosen one-dimensional projections. The function tests ANOVA models for functional data with continuous covariates and perform special contrasts for the factors in the formula.
fanova.RPm( object, formula, data.fac, RP = min(30, ncol(object)), alpha = 0.95, zproj = NULL, par.zproj = list(norm = TRUE), hetero = TRUE, pr = FALSE, w = rep(1, ncol(object)), nboot = 0, contrast = NULL, ... ) ## S3 method for class 'fanova.RPm' summary(object, ndec = NULL, ...)
object |
Functional response data. Object with class fdata with
|
formula |
as formula without response. |
data.fac |
Explanatory variables. Data frame with dimension ( |
RP |
Vector of number of random projections. |
alpha |
Alpha value, by defalult |
zproj |
Function for generating the projections or an object that contains that projections. |
par.zproj |
List of parameters for |
hetero |
|
pr |
codelogical. If |
w |
Vector of weights (only for multivariate problems). |
nboot |
Number of bootstrap samples, by default no bootstrap
computations, |
contrast |
List of special contrast to be used ; by default no special
contrasts are used ( |
... |
Further arguments passed to or from other methods. |
ndec |
Number of decimals. |
zproj
allows to change the generator process of the projections. This
can be done through the inclusion of a function or a collection of
projections generated outside the function. By default, for a functional
problem, the function rproc2fdata
is used. For multivariate problems,
if no function is included, the projections are generated by a normalized
gaussian process of the same dimension as object
. Any user function
can be included with the only limitation that the two first parameters are:
n
: number of projections
t
: discretization points for functional problems
m
: number of columns for multivariate problems.
That functions must return a fdata
or matrix
object
respectively.
The function allows user-defined contrasts. The list of contrast to be used
for some of the factors in the formula. Each contrast matrix in the list
has r
rows, where r
is the number of factor levels. The user
can also request special predetermined contrasts, for example using the
contr.helmert
, contr.sum
or
contr.treatment
functions.
The function returns (by default) the significance of the variables using the Bonferroni test and the False Discovery Rate test. Bootstrap procedure provides more precision
An object with the following components:
proj The projection value of each point on the curves. Matrix with dimension
(RP
x m
), where RP
is the number of projection and
m
are the points observed in each projection curve.
mins minimum number for each random projection.
result p-value for each random projection.
test.Bonf significance (TRUE or FALSE) for
vector of random projections RP
in columns and factor (and special
contrast) by rows.
p.Bonf p-value for vector of random projections
RP
in columns and factor (and special contrast) by rows.
test.fdr False Discovery Rate (TRUE or FALSE) for vector of random
projections RP
in columns and factor (and special contrast) by rows.
p.fdr p-value of False Discovery Rate for vector of random
projections RP
in columns and factor (and special contrast) by rows.
test.Boot False Discovery Rate (TRUE or FALSE) for vector of random
projections RP
in columns and factor (and special contrast) by rows.
p.Boot p-value of Bootstrap sambple for vector of random projections
RP
in columns and factor (and special contrast) by rows.
anova.RPm deprecated.
If hetero=TRUE
then all factors must be categorical.
Juan A. Cuesta-Albertos, Manuel Febrero-Bande, Manuel Oviedo de la
Fuente
manuel.oviedo@usc.es
Cuesta-Albertos, J.A., Febrero-Bande, M. A simple multiway ANOVA for functional data. TEST 2010, DOI 10.1007/s11749-010-0185-3.
See Also as: fanova.onefactor
## Not run: # ex fanova.hetero data(phoneme) names(phoneme) # A MV matrix obtained from functional data data=as.data.frame(phoneme$learn$data[,c(1,seq(0,150,10)[-1])]) group=phoneme$classlearn n=nrow(data) group.rand=as.factor(sample(rep(1:3,len=n),n)) RP=c(2,5,15,30) #ex 1: real factor and random factor m03=data.frame(group,group.rand) resul1=fanova.RPm(phoneme$learn,~group+group.rand,m03,RP=c(5,30)) summary(resul1) #ex 2: real factor with special contrast m0=data.frame(group) cr5=contr.sum(5) #each level vs last level resul03c1=fanova.RPm(data,~group,m0,contrast=list(group=cr5)) summary(resul03c1) #ex 3: random factor with special contrast. Same projs as ex 2. m0=data.frame(group.rand) zz=resul03c1$proj cr3=contr.sum(3) #each level vs last level resul03c1=fanova.RPm(data,~group.rand,m0,contrast=list(group.rand=cr3),zproj=zz) summary(resul03c1) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.