vmat <- function(q2, p){
i1 <- 1; i2 <- p
Sg <- matrix(numeric(p*p), p, p)
for(i in 1:p){
Sg[i,(i:p)] <- q2[i1:i2]
i1 <- i2 + 1
i2 <- i2 + p - i
}
Sg <- Sg + t(Sg); diag(Sg) <- diag(Sg)/2
return(Sg)
}
cmat <- function(q2, p){
Sg <- q2*diag(p)
return(Sg)
}
pmat <- function(Si, wi){
pl <- length(wi)
R <- matrix(numeric(pl*pl), pl)
for(i in 1:pl){
for(j in 1:pl){
R[i,j] <- Si[wi[i], wi[j]]
}
}
return(R)
}
imat <- function(Si, wi, p){
pl <- length(wi)
R <- matrix(numeric(p*p), p)
for(i in 1:pl){
for(j in 1:pl){
R[wi[i], wi[j]] <- Si[i, j]
}
}
return(R)
}
ivec <- function(yi, wi, p){
pl <- length(wi)
R <- numeric(p)
for(i in 1:pl) R[wi[i]] <- yi[i]
return(R)
}
ivec2 <- function(yi, wi, p){
pl <- length(wi)
R <- rep(NA,times = p)
for(i in 1:pl) R[wi[i]] <- yi[i]
return(R)
}
gmat <- function(g1, g2, p){
G <- diag(0, p) + g2
diag(G) <- g1
return(G)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.