2016-03-08 197 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]