【发布时间】:2016-01-23 01:14:43
【问题描述】:
我有矩阵数据
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 里面有很好的例子
-
还有无耻的插件,包
ChemoSpec,虽然它使用了基本图形。你会想要plotLoadings。 -
@baptiste 我尝试使用 HyperChem 包,但该包最常用于处理红外数据矩阵。另一个 pacocte 是 ChemoSpec,但这个包适用于来自不同数据文件的两类变量和更早的变量。但我需要 PCA 值来制作图表。你知道我该怎么做吗?
-
ChemoSpec 包,但这个包使用两个变量类,它们是不同名称的文件。我没有属于两个或多个变量的文件。我会尝试使用这个包。@BryanHanson