Learn R Programming

fullfact (version 1.5.2)

powerLmer3: Power analysis for normal data 3

Description

Extracts the power values of dam, sire, and dam by sire variance components from a linear mixed-effect model using the lmer function of the lme4 package. Model can include additional fixed and/or random effects.

Usage

powerLmer3(var_rand, n_rand, design, remain, var_fix = NULL, n_fix = NULL,
alpha = 0.05, nsim = 100, ml = F, ftest = "LR", iter = NULL)

Value

Prints a data frame with the sample sizes, variance component inputs, variance component outputs, and power values.

Arguments

var_rand

Vector of known dam, sire, dam by sire, residual, and remaining random variance components, i.e. c(dam, sire, dam x sire, residual, rand1, rand2, etc.).

n_rand

Vector of known dam, sire, family, and remaining random sample sizes, i.e. c(dam, sire, family, rand1, rand2, etc.).

design

A data frame of the experimental design, using only integers. First three columns must contain and be named "dam", "sire", "family". Remaining columns are the random effects followed by the fixed effects. Continuous fixed effects are a column containing the values 1:nrow(design).

remain

Remaining formula using lme4 package format. Must be random effects followed by fixed effects. No interactions or random slopes; formulate as intercepts in design.

var_fix

Vector of known fixed variance components, i.e. c(fix1, fix2, etc.). Continous fixed random values are sorted to match column values.

n_fix

Vector of known fixed sample sizes, i.e. c(fix1, fix2, etc.). Continuous fixed effects must have a sample size of 1.

alpha

Statistical significance value. Default is 0.05.

nsim

Number of simulations. Default is 100.

ml

Default is FALSE for restricted maximum likelihood. Change to TRUE for maximum likelihood.

ftest

Default is "LR" for likelihood ratio test for fixed effects. Option "PB" is for parametric bootstrap.

iter

Number of iterations for computing the parametric bootstrap significance value for any fixed effects.

Details

Extracts the dam, sire, dam, dam by sire, and any remaining random and fixed effects power values. Power values are calculated by stochastically simulation data and then calculating the proportion of significance values less than alpha for each component (Bolker 2008). Significance values for the random effects are determined using likelihood ratio tests (Bolker et al. 2009). Significance values for any fixed effects are determined using likelihood ratio tests or parametric bootstrap method (Bolker et al. 2009) from the mixed function of the afex package.

References

Bolker BM. 2008. Ecological models and data in R. Princeton University Press, New Jersey.

Bolker BM, Brooks ME, Clark CJ, Geange SW, Poulsen JR, Stevens MHH, White J-SS. 2009. Generalized linear mixed models: a practical guide for ecology and evolution. Trends in Ecology and Evolution 24(3): 127-135. DOI: 10.1016/j.tree.2008.10.008

Lynch M, Walsh B. 1998. Genetics and Analysis of Quantitative Traits. Sinauer Associates, Massachusetts.

See Also

powerLmer, powerLmer2

Examples

Run this code
##design object: 2 remaining random effects and 1 continous fixed effect
block=c(2,2); blocN=4; position=16; posN=20; offN=20
dam0<- stack(as.data.frame(matrix(1:(block[1]*blocN),ncol=blocN,nrow=block[1])))
sire0<- stack(as.data.frame(matrix(1:(block[2]*blocN),ncol=blocN,nrow=block[2])))
observ0<- merge(dam0,sire0, by="ind")
levels(observ0[,1])<- 1:blocN; colnames(observ0)<- c("block","dam","sire")
observ0$family<- 1:nrow(observ0)  #add family
#expand for offspring, observ0 x offN
observ1<- do.call("rbind", replicate(offN,observ0,simplify=FALSE))
observ1$position<- rep(1:position,each=posN)
observ1$position<- sample(observ1$position,nrow(observ1)) #shuffle
desn<- observ1[,c(2,3,4,5,1)];rm(observ0,observ1) #dam,sire,family,position,block
desn$egg_size<- 1:nrow(desn)

#100 simulations
if (FALSE) powerLmer3(var_rand=c(0.19,0.03,0.02,0.51,0.1,0.05),n_rand=c(8,8,16,16,4),
var_fix=0.1,n_fix=1,design=desn,remain="(1|position)+ (1|block)+ egg_size") 

Run the code above in your browser using DataLab