swap(varcov, invars, rparm, nreps, ana.obj, ...)
make.varcov
ana.obj$reg.names
telling which
variables to start in the model. The first of these is immediately
removed, so it is merely a placeholder. The number of genes in the
model is therefore k <
nrow(varcov$var.x)
elements;
the 'ridge' parameters for the independent variables - larger values
imply more shrinkage or a more concentrated prior for the regresion
coefficients.k
samples each) to perform.analysis.object
--- see make.analysis.objlocs
), prior for locus (locs.prior
),
or method specified by ana.obj
. Also, the default prior for
model (combo.prior
) when ana.obj$method=="F2"
, a 2k by k by nreps array) of the
locations (variables) sampled in each iteration.k*nreps
with the
posteriors of the models.ana.obj$method=="F2"
, a 2k by nreps matrix).swap
k*nreps
posterior probabilities of the k-1 gene
models.k*nreps
marginal posteriors for all k gene
models that could be formed using the current k-1 gene modellength(locs)
(or 2*length(locs)
) elements. At
each step, the posterior associated with each candidate locus is
added to an element of this vector. After all steps are finished,
the result is normalized to sum to one. This turns out to be a
stable estimate of the marginal posterior.length(locs)
(or
2*length(locs)
) elements. At each step, the product of each
posterior times the coefficient(s) associated with a candidate locus
is added to an element of this
vector. After all steps are finished, the result is normalized by
the total marginal posterior. This turns out to be a stable
estimate of the marginal (over all models) posterior mean of the
regression coefficients.make.varcov
is
executed. This sampler uses the exact posterior probability under the
assumed correctness of the regression model using expected genotypes
given marker values. This amounts to linearizing the likelihood with
respect to the (possibly unknown) locus states. For models where the
loci are fully informative markers this is the true posterior. The chain is implemented as follows: given a set of regressor
variables to start, one variable is removed, all regressor
variables not in the model are examined to determine the effect of each
on the posterior. One variable is sampled. The process is repeated until
each variable has been removed and a new one sampled in its place
(possibly the same variable that was removed is sampled). And this whole
cycle is repeated nreps
times.
data( little.ana.bc )
little.vc <- varcov( bc.phenotype~locus(all), little.ana.bc)
little.4 <- swap( little.vc, c(1,15,55,75), rparm=1, 50, little.ana.bc )
little.4.smry <- summary( little.4 )
print(c("Bayes Factor (3 vs 4)"=little.4.smry$ratio$mean))
par(mfrow=c(3,2))
plot( little.ana.bc, little.4.smry$loc.posterior, type="h",
ylab="E(genes)" )
rm(little.4,little.vc,little.ana.bc)
Run the code above in your browser using DataLab