【问题标题】:R pca ggbiplot error : replacement has 36 rows, data has 35R pca ggbiplot 错误:替换有 36 行,数据有 35
【发布时间】:2016-11-09 02:26:16
【问题描述】:

我是 R 新手。我试图使用 pca 和 ggbiplot 来显示 pca 结果,但不知何故陷入了一些我无法解决的错误。也许我的数据有问题,因为代码可以很好地处理其他数据。 我将我使用的代码和数据文件放在以下链接中,以防您想重新创建场景:-

https://drive.google.com/drive/folders/0B2jQ7Vh3S3PaZkt3Y2ZyaV9XaXc

代码:pca-plot.R 数据文件 1:dat1.rda(这个工作正常) 数据文件2:dat2.rda(这个有问题)

感谢任何帮助。 我得到的错误在底部。

谢谢, --我们

> g <- ggbiplot(tr.pca, obs.scale = 1, var.scale = 1, 
+               groups = Ydfall, 
+               ellipse = TRUE, 
+               circle = TRUE)
Error in `$<-.data.frame`(`*tmp*`, "groups", value = c(1L, 1L, 1L, 1L,  : 
  replacement has 36 rows, data has 35
> g <- g + scale_color_discrete(name = '')
Scale for 'colour' is already present. Adding another scale for 'colour',     which will replace the existing scale.
> g <- g + theme(legend.direction = 'horizontal', 
+                legend.position = 'top')
> g<- g+ geom_point(size=1, shape=1, color="black", stroke=2)  
> 
> print(g)
> 

【问题讨论】:

    标签: r pca ggbiplot


    【解决方案1】:

    您来自dat2.rdadfall 具有NA(尝试which(is.na(dfall), arr.ind = T)),这会导致您的问题。你在使用prcomp() 时使用了na.omit(),但在创建Ydfall 时没有使用。

    Ydfall <- na.omit(dfall)[,1]   # quick fix
    
    # but if I were you, I would do first;
    dfall <- na.omit(dfall)
    

    【讨论】:

      猜你喜欢
      • 2018-05-15
      • 1970-01-01
      • 2018-04-10
      • 1970-01-01
      • 2018-02-19
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多