La mia domanda riguarda la funzione principal() nel pacchetto psych.psych: principal - loadings components
set.seed(0)
x <- replicate(8, rnorm(10))
pca.x <- principal(x, nf=4, rotate="varimax")
So che se voglio vedere la tabella carichi, posso usare loading.x <-loadings(pca.x)
, che avrò i seguenti risultati.
> loading.x
Loadings:
RC1 RC3 RC4 RC2
[1,] -0.892 -0.205 0.123
[2,] 0.154 0.158 0.909
[3,] -0.660 0.255 -0.249 0.392
[4,] -0.352 0.412 0.614 -0.481
[5,] 0.950 -0.208 0.117
[6,] -0.302 0.111 0.860
[7,] 0.852 -0.195 -0.358
[8,] -0.109 0.903 0.265
RC1 RC3 RC4 RC2
SS loadings 2.323 1.934 1.373 1.342
Proportion Var 0.290 0.242 0.172 0.168
Cumulative Var 0.290 0.532 0.704 0.871
La mia prima confusione è l'oggetto loadings. Tecnicamente, è una matrice, ma guarda la sua dimensione, è 8 * 4, il che significa che la parte inferiore non è inclusa.
In sostanza, quello che voglio raggiungere è quello di estrarre questa parte da solo:
RC1 RC3 RC4 RC2
SS loadings 2.323 1.934 1.373 1.342
Proportion Var 0.290 0.242 0.172 0.168
Cumulative Var 0.290 0.532 0.704 0.871
È possibile mettere in un data.frame o di una matrice, piuttosto che guardare nella console. Sembra che la risposta di William Revelle nel post Extracting output from principal function in psych package as a data frame. è in grado di estrarre solo questa parte inferiore, ma la funzione print
mi dà ancora il tutto.
In effetti, sono anche curioso di sapere come gli sviluppatori sono in grado di costruire un oggetto di caricamento (non riesco a capirlo guardando il codice sorgente). Inoltre, la parte di cui ho bisogno non riesco a trovare altrove nella lista 'pca.x', almeno non una tabella formattata. Sto usando Rstudio versione 0.98.1102, R 3.1.2, su mac e 1.5.1.
Grazie in anticipo!
Un [esempio riproducibile] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) sarebbe utile qui. Includere codice di esempio per creare l'oggetto con cui si sta lavorando e descrivere esattamente ciò che si desidera estrarre da esso. – MrFlick
L'esempio di William Revelle sembra funzionare ancora, puoi usare l'esempio di 'Thurstone' dalla sua risposta per mostrare ciò di cui hai bisogno. ty – user20650
Usando il modulo di risposta la domanda collegata: per i caricamenti prova 'loadings (pca.x) []' e per SS/var etc: 'p <- print (pca.x); p [[1]] '. Per la tua domanda sugli oggetti, molti di questi saranno calcolati/prodotti dal metodo 'print'. Dai un'occhiata alla funzione 'print.psych' che stamperà diversi output sullo schermo a seconda dell'oggetto che gli viene passato (non è passato attraverso tutto) – user20650