遇到错误:通过ggbiplot绘制PCA数字

时间:2015-08-18 16:15:58

标签: vector pca ggbiplot

我是R的新手,并尝试使用ggbiplot绘制我的数据的PCA数字。如果我的问题对你没有任何意义,请耐心等待我。基本上,我正在按照我发现here的教程,除了我使用自己的数据集。

在我希望使用下面的代码绘制图形之前,一切都很好:

g <- ggbiplot(ir.pca, obs.scale = 1, var.scale = 1, 
                  groups = ir.ppm, ellipse = TRUE, 
                  circle = TRUE)

然后,我遇到一个错误说明: 名称错误(ell)[1:2]&lt; - c(&#34; xvar&#34;,&#34; yvar&#34; ):   &#39;名称&#39; attribute [2]的长度必须与vector [0]

的长度相同

之后,我编辑了我的代码并使用 groups = 的默认设置,我记得这应该是= NULL。

g <- ggbiplot(ir.pca, obs.scale = 1, var.scale = 1, 
                  groups = ir.ppm, ellipse = TRUE, 
                  circle = TRUE) `

使用编辑过的代码,我确实可以绘制PCA图,但它无法按照我的意愿将观察分类到不同的组中。虽然我仍然不知道错误的含义:名称中的错误(ell)[1:2]&lt; -c(&#34; xvar&#34;,&#34; yvar&#34;):&#39 ;名称&#39; attribute [2]的长度必须与vector [0]的长度相同,我怀疑它可能与我的因子 ir.ppm 有关。

以下是我遇到错误之前使用的所有代码。

ppm3 = read.csv("normalize_GasPhase_heatmap_no_ID_transpose.csv", header = TRUE, row.names = 1)
ppm3_1 <- ppm3[,1:30]
ir.ppm <- ppm3[,31]
ir.pca <- prcomp(ppm3_1, center = TRUE, scale. = TRUE)
library(ggbiplot)
g <- ggbiplot(ir.pca, obs.scale = 1, var.scale = 1, groups = ir.ppm, ellipse = TRUE, circle = TRUE)

总的来说,我的原始数据ppm3中有6个观察值和31个变量。

我一直在浏览一些与在stackoverflow中使用ggbiplot绘制PCA数字有关的问题,但似乎没有多少人遇到与我相同的问题。如果有人能给我一些帮助,我真的很感激。谢谢。

1 个答案:

答案 0 :(得分:1)

您只能对ir.ppm中的每个因素进行一次观察。为了显示省略号,您需要对每个因子进行更多观察。

一个解决方法是删除椭圆选项,如下所示:

g <- ggbiplot(ir.pca, obs.scale = 1, var.scale = 1, 
                  groups = ir.ppm,
                  circle = TRUE)