Determines the denominators needed to calculate an unbiased estimator of \(\Sigma_R\).

bothsidesmodel.df(xx, n, pattern)

Arguments

xx

Result of \((X^T * X)\), where T denotes tranpose.

n

Number of rows in observation matrix given

pattern

An \(N \times P\) matrix of 0's and 1's indicating which elements of \(\beta\) are allowed to be nonzero.

Value

A numeric matrix of size \(N \times N\) containing the degrees of freedom for the test.

Examples

# Find the DF for a likelihood ratio test statistic.
x <- cbind(
  1, c(-2, -1, 0, 1, 2), c(2, -1, -2, -1, 2),
  c(-1, 2, 0, -2, 1), c(1, -4, 6, -4, 1)
)
# or x <- cbind(1, poly(1:5, 4))
data(skulls)
x <- kronecker(x, rep(1, 30))
y <- skulls[, 1:4]
z <- diag(4)
pattern <- rbind(c(1, 1, 1, 1), 1, 0, 0, 0)
xx <- t(x) %*% x
bothsidesmodel.df(xx, nrow(y), pattern)
#>      [,1] [,2] [,3] [,4]
#> [1,]  148  148  148  148
#> [2,]  148  148  148  148
#> [3,]  148  148  148  148
#> [4,]  148  148  148  148