我对 R 非常陌生,并试图使用 ggbiplot 绘制我的数据的 PCA 图。因此,如果我的问题对您没有任何意义,请多多包涵。基本上,我按照我在这里找到的教程进行操作,除了我使用的是我自己的数据集。
一切都很好,直到我希望使用下面的代码来绘制一个图:
g <- ggbiplot(ir.pca, obs.scale = 1, var.scale = 1,
groups = ir.ppm, ellipse = TRUE,
circle = TRUE)
然后,我遇到了一个错误说明:名称错误(ell)[1:2] <- c(“xvar”,“yvar”):'names'属性[2]必须与向量[0]的长度相同
之后,我编辑了我的代码并使用了groups =的默认设置,我记得它应该是 = NULL。
g <- ggbiplot(ir.pca, obs.scale = 1, var.scale = 1,
groups = ir.ppm, ellipse = TRUE,
circle = TRUE) `
使用编辑后的代码,我确实能够绘制 PCA 图,但它无法根据我的需要将观察结果分类为不同的组。虽然我仍然不知道错误的含义: Error in names(ell)[1:2] <- c("xvar", "yvar") : 'names' attribute [2] must be the same length as the 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 图相关的问题,但似乎没有多少人遇到与我相同的问题。如果有人可以为我提供帮助,我将不胜感激。谢谢你。