Sto cercando di eseguire un'analisi PCA dei miei dati utilizzando R e ho trovato this nice guide, utilizzando prcomp
e . I miei dati sono due tipi di campioni con tre repliche biologiche ciascuno (cioè 6 righe) e circa 20000 geni (cioè variabili). In primo luogo, ottenendo il modello APC con il codice descritto nella guida non funziona:prcomp e ggbiplot: valore "rot" non valido
>pca=prcomp(data,center=T,scale.=T)
Error in prcomp.default(data, center = T, scale. = T) :
cannot rescale a constant/zero column to unit variance
Tuttavia, se mi tolgo la parte scale. = T
, funziona bene e ottengo un modello. Perché è questo, ed è questa la causa dell'errore qui sotto?
> summary(pca)
Importance of components:
PC1 PC2 PC3 PC4 PC5
Standard deviation 4662.8657 3570.7164 2717.8351 1419.3137 819.15844
Proportion of Variance 0.4879 0.2861 0.1658 0.0452 0.01506
Cumulative Proportion 0.4879 0.7740 0.9397 0.9849 1.00000
In secondo luogo, tracciare il PCA. Anche solo utilizzando il codice di base, ottengo un un'immagine trama vuoto di errore e:
> ggbiplot(pca)
Error: invalid 'rot' value
Cosa significa e come posso risolvere il problema? Ha qualcosa a che fare con la (non) scala nel rendere il PCA, o è qualcosa di diverso? Deve essere qualcosa con i miei dati, penso, dal momento che se uso un codice di esempio standard (sotto) ottengo una trama PCA davvero bella.
> data(wine)
> wine.pca=prcomp(wine,scale.=T)
> print(ggbiplot(wine.pca, obs.scale = 1, var.scale = 1, groups = wine.class,
ellipse = TRUE, circle = TRUE))
[EDIT 1] Ho cercato sottoinsiemi i miei dati in due modi: 1) eliminare tutte le colonne sono state tutte le righe sono 0 e 2) Rimuovere tutte le colonne sono state tutte le righe sono 0. Il primo subsetting mi dà ancora l'errore scale
, ma non quelli che hanno rimosso le colonne con 0. Perchè è questo? In che modo ciò influenza la mia PCA?
Inoltre, ho provato a utilizzare il normale comando biplot
per entrambi i dati originali (non ridimensionati) e quelli sottostanti sopra, e funziona in entrambi i casi. Quindi ha qualcosa a che fare con ggbiplot
?
[EDIT 2] Ho caricato un sottoinsieme dei miei dati che mi dà l'errore quando non rimuovo tutti gli zeri e funziona quando lo faccio. Non ho usato Gist prima, ma penso che sia lo this. O this ...
Esiste un modo per fornire i tuoi dati come ad esempio un 'dput' del set di dati su [gist] (https://gist.github.com/)? O se è grande, un sottoinsieme che produce ancora l'errore? È difficile provare e diagnosticare un problema che non possiamo riprodurre. – cdeterman
Ora ho aggiunto alcuni dati, qualsiasi aiuto è apprezzato! – Sajber
I dati forniti su gist non riproducono l'errore. Ho scaricato il file e 'prcomp' e' ggbiplot' sono stati eseguiti senza errori. – cdeterman