如何使用PRcomp从PCA更改标签到样品名称

时间:2016-08-11 15:35:59

标签: r pca

我正在尝试使用样本名称而不是标准数字标记PCA双标图。我正在使用代码:

PRCOMP1 <- prcomp(~ Max + Min + Range + Average + P10 + P20 + 
P50 + P100 +  D10 + D20 + D50 + D100 + D500, 
data = turbidity, 
na.action = na.omit, 
scale = TRUE

biplot(PRCOMP1, cex = 0.8, choices=c(1,2))

提供了下面的图 - 我知道我可以在我的数据表中用标记为Sample的列来标记这些点。

还有一种简单的方法来改变箭头的颜色吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用Sample列的值命名输入数据的行:

row.names(turbidity) <- turbidity$Sample

双标图上的点将标有其同源样本名称。

答案 1 :(得分:0)

我试着举个例子:

#creating an example data frame with 5 numeric and one character variables
mydata1 <- as.data.frame(matrix(rnorm(100, 0, 2), ncol = 5))
mydata1$sample <- c(sapply(1:20, function(i) paste("s", i, sep = "")))
#view of the df
 mydata1
       V1         V2           V3          V4          V5 sample
1   1.7398057 -0.8074246  0.009826488  0.58566480  3.88569625     s1
2  -1.3259889 -2.4359229 -1.258855445  2.65124987 -2.64137545     s2
3  -2.3961068 -0.3108402 -1.330362255 -0.35209302 -2.39282594     s3

这是20行乘6变量数据帧

biplot(prcomp(mydata1[,-6]))

此语句将返回没有样本标签的图,只返回数字。

#naming rows of the df with the sample column value
row.names(mydata1) <- mydata1$sample
#viewing the df 
head(mydata1)
      V1         V2           V3         V4         V5 sample
s1  1.739806 -0.8074246  0.009826488  0.5856648  3.8856962     s1
s2 -1.325989 -2.4359229 -1.258855445  2.6512499 -2.6413755     s2
s3 -2.396107 -0.3108402 -1.330362255 -0.3520930 -2.3928259     s3
#plotting
biplot(prcomp(mydata1[,-6]))

后一个图现在将使用其标签呈现观察结果。 如果这是您的想法,请告诉我。