Description Usage Arguments Details Value Author(s) Examples
Determine a transformation B
of the rows of a matrix L
such that B %*% L
is estimable.
A practical example is in jointly testing a set of contrasts L
in a linear model, and we need to restrict to the subspace spanned by
the rows of L
that are estimable.
1  estble.subspace (L, nbasis, tol = 1e8)

L 
A matrix of dimensions k by p 
nbasis 
A k by b matrix whose columns form a
basis for nonestimable linear functions – such as is returned
by 
tol 
Numeric tolerance for assessing nonestimability. See

We require B
such that all the rows of M = B %*% L
are estimable, i.e. orthogonal to the columns of nbasis
.
Thus, we need B %*% L %*% nbasis
to be zero, or equivalently,
t(B)
must be in the null space of t(L %*% nbasis)
.
This can be found using nonest.basis
.
An r by p matrix M = B %*% L
whose rows are all orthogonal to the columns of
nbasis
. The matrix B
is attached as attr(M, "B")
.
Note that if any rows of L
were nonestimable, then r
will be less than k. In fact, if there are no estimable functions
in the row space of L
, then r = 0.
Russell V. Lenth <[email protected]>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  ### Find a set of estimable interaction contrasts for a 3 x 4 design
### with two empty cells.
des < expand.grid(A = factor(1:3), B = factor(1:4))
des < des[c(5, 12), ] # cells (2,2) and (3,4) are empty
X < model.matrix(~ A * B, data = des)
N < nonest.basis(X)
L < cbind(matrix(0, nrow = 6, ncol = 6), diag(6))
# i.e., give nonzero weight only to interaction effects
estble.subspace(L, N)
# Tougher demo: create a variation where all rows of L are nonestimable
LL < matrix(rnorm(36), ncol = 6) %*% L
estble.subspace(LL, N)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.