¿Cambiar la longitud de las cargas (flechas) en el diagrama de PCA usando ggplot2 / ggfortify?

He estado luchando para reescalar la longitud de las cargas (flechas) en un PCA ggplot2 / ggfortify. He buscado una respuesta extensa a esto, y la única información que he encontrado es codificar nuevas funciones biplot o referirme a otros paquetes completamente diferentes para PCA (ggbiplot, factoextra), ninguno de los cuales aborda la pregunta que me gustaría responder:

¿Es posible escalar / cambiar el tamaño de las cargas de PCA en ggfortify?

A continuación se muestra el código que tengo para trazar una PCA usando las funciones de stock R, así como el código para trazar una PCA usando el trazado automático / ggfortify. Notarás en las gráficas R de stock que puedo escalar las cargas simplemente multiplicando por un escalar (* 20 aquí) para que mis flechas no estén apretadas en el medio de la gráfica PCA. Usando autoplot ... no tanto. ¿Qué me estoy perdiendo? Me mudaré a otro paquete si es necesario, pero realmente me gustaría tener una mejor comprensión de ggfortify.

En otros sitios que he encontrado, los límites de los ejes del gráfico nunca parecen exceder +/- 2. Mi gráfico va +/- 20, y las cargas se ubican firmemente cerca de 0, presumiblemente en la misma escala que los gráficos con ejes más pequeños. Todavía me gustaría trazar PCA usando ggplot2, pero si ggfortify no lo hace, entonces necesito encontrar otro paquete que lo haga.

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

Los datos provienen de un archivo en línea de una clase que estoy tomando, por lo que podría copiar esto si tiene instalados los paquetes ggplot2 y ggfortify. Gráficos a continuación.

R trama de cómo quiero que se vea ggplot

Cómo se ve realmente ggplot

Respuestas a la pregunta(1)

Su respuesta a la pregunta