I have microfossil data from across the Cretaceous-Tertiary boundary, 20 species (=variables) and 27 samples (=observations). I have run a PCA with varimax rotation on these data using the rgr package. I now want to determine the significance of the PC loadings using bootstrap BCa confidence intervals from package boot, but I can't get it to work. I have found using Krzanowski cross-validation that 5 PCs appear to be significant (NRETAIN in the script below is thus equal to 5). The script I have been attempting looks like this (the data matrix is called “x”):
BS.vmax <- function(d, f)
{ n <- nrow(d)
unrot <-gx.mva(d)
unrot$eigenvectors
vmax <- gx.rotate(unrot, nrot=NRETAIN)
vload <- vmax$rload[,1:NRETAIN]
}
BS.vmax.boot <- boot(x, BS.vmax, R = 99)
boot.ci(BS.vmax.boot, type = "bca")
This script returns a BS.vmax.boot value that looks like this:
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = x, statistic = BS.vmax, R = 99)
Bootstrap Statistics :
original bias std. error
t1* -0.745596283 0 0
t2* -0.902044503 0 0
...
lines removed here
...
t99* -0.144587913 0 0
t100* 0.076592734 0 0
which doesn't make any sense (because all biases and SEs are zero)! I will later on increase the number of bootstrap replicates to 2000; this is just for testing.