我是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数字有关的问题,但似乎没有多少人遇到与我相同的问题。如果有人能给我一些帮助,我真的很感激。谢谢。
答案 0 :(得分:1)
您只能对ir.ppm中的每个因素进行一次观察。为了显示省略号,您需要对每个因子进行更多观察。
一个解决方法是删除椭圆选项,如下所示:
g <- ggbiplot(ir.pca, obs.scale = 1, var.scale = 1,
groups = ir.ppm,
circle = TRUE)