Alterar o comprimento das cargas (setas) no gráfico PCA usando ggplot2 / ggfortify?

Tenho lutado para redimensionar o comprimento das cargas (setas) em um PCA ggplot2 / ggfortify. Procurei extensivamente por uma resposta a isso, e as únicas informações que encontrei codificam novas funções biplot ou referem-se a outros pacotes totalmente diferentes para PCA (ggbiplot, fatoextra), nenhum dos quais aborda a pergunta que gostaria de responder:

É possível dimensionar / alterar o tamanho das cargas de PCA no ggfortify?

Abaixo está o código que tenho para plotar um PCA usando as funções R de estoque, bem como o código para plotar um PCA usando autoplot / ggfortify. Você notará nas parcelas R de estoque que posso escalar as cargas simplesmente multiplicando por uma escalar (* 20 aqui) para que minhas flechas não fiquem presas no meio da plotagem PCA. Usando autoplot ... nem tanto. o que estou perdendo? Vou mudar para outro pacote, se necessário, mas realmente gostaria de entender melhor o ggfortify.

Em outros sites que encontrei, os limites dos eixos dos gráficos nunca parecem exceder +/- 2. Meu gráfico vai +/- 20 e as cargas ficam firmemente próximas de 0, presumivelmente na mesma escala dos gráficos com eixos menores. Eu ainda gostaria de plotar o PCA usando o ggplot2, mas se o ggfortify não o fizer, preciso encontrar outro pacote que o faça.

#load data geology rocks frame
georoc <- read.csv("http://people.ucsc.edu/~mclapham/earth125/data/georoc.csv")

#load libraries
library(ggplot2)
library(ggfortify)

geo.na <- na.omit(georoc) #remove NA values
geo_matrix <- as.matrix(geo.na[,3:29]) #create matrix of continuous data in data frame
pca.res <- prcomp(geo_matrix, scale = T) #perform PCA using correlation matrix (scale = T)
summary(pca.res) #return summary of PCA

#plotting in stock R
plot(pca.res$x, col = c("salmon","olivedrab","cadetblue3","purple")[geo.na$rock.type], pch = 16, cex = 0.2)
#make legend
legend("topleft", c("Andesite","Basalt","Dacite","Rhyolite"), 
       col = c("salmon","olivedrab","cadetblue3","purple"), pch = 16, bty = "n")
#add loadings and text
arrows(0, 0, pca.res$rotation[,1]*20, pca.res$rotation[,2]*20, length = 0.1)
text(pca.res$rotation[,1]*22, pca.res$rotation[,2]*22, rownames(pca.res$rotation), cex = 0.7)

#plotting PCA
autoplot(pca.res, data = geo.na, colour = "rock.type", #plot results, name using original data frame
         loadings = T, loadings.colour =  "black", loadings.label = T,
         loadings.label.colour = "black")

Os dados vêm de um arquivo on-line de uma classe que eu estou cursando, então você pode copiar isso se tiver os pacotes ggplot2 e ggfortify instalados. Gráficos abaixo.

R plot do que eu quero que o ggplot pareça

Como o ggplot realmente se parece

questionAnswers(1)

yourAnswerToTheQuestion