I'm trying to determine the variance partitioning within plant drought tolerance data among hierarchical ecological levels, from species to forest sites to biome levels. I did that with the varcomp random effects model in R:
varcomp(lme(TLP_DRY~1, random=~1|Biomes/SiteNum/Species, data=d, na.action =na.omit),1)
Now, I want to bootstrap 95% confidence intervals for variance at each level, but I get incredibly weird results! Almost all of my species variance percentages become 100%, while within-species and biome variation becomes 10E-32, which looks nothing like the results for the actual dataset.
My questions: What is happening in the bootstrap and What does it mean about my ability to calculate confidence intervals?
My code in R for generating the bootstrap is:
matrix(NA, nrow=1000, ncol = 4)-> emptylist # define a place to put the simulated values
for(ii in 1:1000){
Data[sample(nrow(Data),100, replace = TRUE),] -> d # take a random sample the same size as the dataset with replacement
varcomp(lme(TLP_DRY~1, random=~1|Biomes/SiteNum/Species, data=d, na.action =na.omit),1) -> mod # calculate variance partitioning
mod[1]-> emptylist[ii,1] # stick the values together in one place
mod[2]-> emptylist[ii,2]
mod[3]-> emptylist[ii,3]
mod[4]-> emptylist[ii,4]
}
quantile(emptylist[,1], c(.025, .975)) # determine the 95% confidence intervals
quantile(emptylist[,2], c(.025, .975))
quantile(emptylist[,3], c(.025, .975))
quantile(emptylist[,4], c(.025, .975))