2016-03-08 195 views
0

我试图用ggbiplot绘制PCA分数,但由于我的分数和我的分组之间不匹配,所以我无法做到。 我认为这种不匹配源于我原始的对数转换数据中的NA值(我在计算PC时忽略)。有没有办法解决这个问题,以便我可以使用ggbiplot进行绘图?R使用ggbiplot绘制PCA分数

GCelem_trans.pca<-prcomp(na.omit(GCelem_trans.log), center=TRUE, scale=TRUE) 
GCelem.rxtp <- GCelem[, 9] 


g <- ggbiplot(GCelem_trans.pca, obs.scale = 1, var.scale = 1, 
        groups = GCelem.rxtp, ellipse = TRUE, 
        circle = TRUE) 
    Error in `$<-.data.frame`(`*tmp*`, "groups", value = c(2L, 5L, 5L, 2L, : 
     replacement has 33337 rows, data has 30804 

我应该重新计算基于GCelem的副本省略为NAS任何行GCelem.rxtp?

+0

我认为错误是因为你还没有子集'GCelem.rxtp'相匹配的NA-忽略的数据。您可以找到NA行的索引和'GCelem.rxtp'子集,以便从中删除正确的值,或者您可以将原始数据中的NA(例如每个变量的中位数)进行归一化。 – Joe

回答

0

你可以尝试:

GCelem.rxtp <- GCelem[complete.cases(GCelem_trans.log), 9]