# Bootstrap confidence intervals for partitioned variances in R

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))