projs.2canon {dae} | R Documentation |

## A canonical analysis of the relationships between two sets of projectors

### Description

Computes the canonical efficiency factors for the joint
decomposition of two structures or sets of mutually orthogonally
projectors (Brien and Bailey, 2009), orthogonalizing projectors in the
Q2 `list`

to those earlier in the `list`

of projectors with
which they are partially aliased. The results can be summarized in the
form of a skeleton ANOVA table.

### Usage

`projs.2canon(Q1, Q2)`

### Arguments

`Q1` |
A |

`Q2` |
A |

### Details

Two loops, one nested within the other, are performed. The first cycles
over the components of `Q1`

and the nested loop cycles over the
components of `Q2`

. The joint decomposition of the two projectors
in each cycle, one from `Q1`

(say `Q1[[i]]`

) and the other
from `Q2`

(say `Q2[[j]]`

) is obtained using
`proj2.combine`

.
In particular, the nonzero canonical efficiency factors for the joint
decomposition of the two projectors is obtained. The nonzero canonical
efficiency factors are the nonzero eigenvalues of
`Q1[[i]] %*% Q2[[j]] %*% Q1[[i]]`

(James and Wilkinson, 1971).
An eigenvalue is regarded as zero if it is less than
`daeTolerance`

, which is initially set to
`.Machine$double.eps ^ 0.5`

(about 1.5E-08). The function
`set.daeTolerance`

can be used to change
`daeTolerance`

.

However, a warning occurs if any pair of Q2 projectors (say
`Q2[[j]]`

and `Q2[[k]]`

) do not have adjusted orthgonality
with respect to any Q1 projector (say `Q1[[i]]`

), because they are
partially aliased. That is, if `Q2[[j]] %*% Q1[[i]] %*% Q2[[k]]`

is nonzero for any pair of different Q2 projectors and any
Q1 projector. When it is nonzero, the projector for the later term in
the list of projectors is orthogonalized to the projector that is
earlier in the list. A list of such projectors is returned in the
`aliasing`

component of the `p2canon.object`

. The
entries in the `aliasing`

component gives the amount of information
that is aliased with previous terms.

### Value

### Author(s)

Chris Brien

### References

Brien, C. J. and R. A. Bailey (2009). Decomposition tables for
multitiered experiments. I. A chain of randomizations.
*The Annals of Statistics*, **36**, 4184 - 4213.

James, A. T. and Wilkinson, G. N. (1971) Factorization of the residual
operator and canonical decomposition of nonorthogonal factors in the
analysis of variance. *Biometrika*, **58**, 279-294.

### See Also

`summary.p2canon`

, `efficiencies.p2canon`

,
`projs.combine.p2canon`

, `pstructure`

,

`proj2.efficiency`

, `proj2.combine`

,
`proj2.eigen`

, `efficiency.criteria`

in package dae, `eigen`

.

`projector`

for further information about this class.

### Examples

```
## PBIBD(2) from p. 379 of Cochran and Cox (1957) Experimental Designs.
## 2nd edn Wiley, New York
PBIBD2.unit <- list(Block = 6, Unit = 4)
PBIBD2.nest <- list(Unit = "Block")
trt <- factor(c(1,4,2,5, 2,5,3,6, 3,6,1,4, 4,1,5,2, 5,2,6,3, 6,3,4,1))
PBIBD2.lay <- designRandomize(allocated = trt,
recipient = PBIBD2.unit,
nested.recipients = PBIBD2.nest)
##obtain projectors using pstructure
unit.struct <- pstructure(~ Block/Unit, data = PBIBD2.lay)
trt.struct <- pstructure(~ trt, data = PBIBD2.lay)
##obtain combined decomposition and summarize
unit.trt.p2canon <- projs.2canon(unit.struct$Q, trt.struct$Q)
summary(unit.trt.p2canon)
```

*dae*version 3.2.28 Index]