我有矩陣數據Ploting負荷PCA VS波數
Wavenumber 450.000000 451.00000
Sample 1.977876 1.977388 1.976533
Sample2 1.803184 1.802537 1.802181 ...
...
Sample29 1.929462 1.928509 1.927309
我除去與下面的命令的第一行只與樣品來繪製圖形,讀取文件的csv後。
s<- as.data.frame(t, nrow.names =1)
s.pca <- prcomp(s[-c(1),], center = TRUE, scale. = TRUE)
sd <- s.pca$sdev
loadings <- s.pca$rotation
rownames(loadings) <- colnames(s)
scores <- s.pca$x
library(ggplot2)
scores=as.data.frame(s.pca$x)
###---Plot Components PC1 and PC2
p<- ggplot(data = scores, obs.scale = .8, var.scale = 1, show.names=TRUE, aes(x = PC1, y = PC2, label = rownames(scores)))
p<- p + geom_hline(yintercept = 0, colour = "gray65")
p<- p + geom_vline(xintercept = 0, colour = "gray65")
p<- p + geom_text(colour = "black", alpha = 0.8, size = 4)
p<- p + ggtitle("PCA plot Samples")
p<- p + theme(axis.title = element_text(family = "Arial", color="#666666", face="bold", size=16))
p<- p + theme(axis.text.x = element_text(face="bold", color="#993333", size=14,angle=0))
p<- p + theme(axis.text.y = element_text(face="bold", color="#993333", size=14, angle=0))
p<- p + xlab("PC1")
p<- p + ylab("PC2")
print(p)
我刪除了第一線,我不知道我怎樣才能使一個負載(PC1和PC2)與基體的波數?
嘗試閱讀hyperSpec軟件包的小插曲,IIRC裏面有很好的例子 – baptiste
和無恥的插件,包'ChemoSpec',雖然它使用了基本的圖形。你會想'plotLoadings'。 –
@baptiste我嘗試使用HyperChem軟件包,但該軟件包最常用於處理紅外數據矩陣。另一種方法是ChemoSpec,但是該程序包適用於來自不同數據文件的兩類變量和更老的變量。但我需要PCA值來製作圖表。你有什麼想法我該怎麼做? –