R pca ggbiplot ошибка: замена имеет 36 строк, данные имеют 35

Я новичок в 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)
> 

1 ответ

Решение

Ваш dfall от dat2.rda имеет NA (пытаться which(is.na(dfall), arr.ind = T)) и это вызывает вашу проблему. Ты использовал na.omit() когда ты использовал prcomp() но не когда Ydfall,

Ydfall <- na.omit(dfall)[,1]   # quick fix

# but if I were you, I would do first;
dfall <- na.omit(dfall)
Другие вопросы по тегам