Почему я получаю ошибку chol.default (sigma) при добавлении образцов в PCA в RStudio? - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь спроецировать новые образцы на свой существующий график PCA, но получаю следующую ошибку

Ошибка в chol.default (sigma): ведущий минор порядка 2 не является положительно определенным

Я вставляю весь код внизу. Спасибо за помощь!

> s.sc <- scale(t(BIG003066), center = OMRFActVLTStable.pca$center)
> s.pred <- s.sc %*% OMRFActVLTStable.pca$rotation
> OMRFActVLTStable.proj.pca <- OMRFActVLTStable.pca
> OMRFActVLTStable.proj.pca$x <- rbind(OMRFActVLTStable.proj.pca$x, s.pred)
> ggbiplot(OMRFActVLTStable.proj.pca, ellipse = TRUE, obs.scale = 1, var.scale = 1, var.axes=FALSE,   labels = c(rownames(OMRFActVLTStable), "003-066"), groups = OMRFActVLTS.statusplus)
> BIG003125 <- c(7.42696,   6.57583,    3.47127,    5.31756,    3.85115,    4.19252,    8.9397, 4.76252)
> s.sc1 <- scale(t(BIG003125), center = OMRFActVLTStable.pca$center)
> s.pred1 <- s.sc1 %*% OMRFActVLTStable.pca$rotation
> OMRFActVLTStable.proj.pca <- OMRFActVLTStable.pca
> OMRFActVLTStable.proj.pca$x <- rbind(OMRFActVLTStable.proj.pca$x, s.pred, s.pred1)
> ggbiplot(OMRFActVLTStable.proj.pca, ellipse = TRUE, obs.scale = 1, var.scale = 1, var.axes=FALSE,   labels = c(rownames(OMRFActVLTStable), "003-066", "003-125"), groups = OMRFActVLTS.statusplus)
> BIG003754 <- c(7.3233,    6.64299,    3.33276,    5.40415,    3.55248,    4.21243,    8.82866,    4.56571)
> s.sc2 <- scale(t(BIG003754), center = OMRFActVLTStable.pca$center)
> s.pred2 <- s.sc1 %*% OMRFActVLTStable.pca$rotation
> OMRFActVLTStable.proj.pca <- OMRFActVLTStable.pca
> OMRFActVLTStable.proj.pca$x <- rbind(OMRFActVLTStable.proj.pca$x, s.pred, s.pred1, s.pred2)
> OMRFActVLTS.statusplus <- c(OMRFActVLTS.status, "Stanford", "Stanford", "Stanford")
> ggbiplot(OMRFActVLTStable.proj.pca, ellipse = TRUE, obs.scale = 1, var.scale = 1, var.axes=FALSE,   labels = c(rownames(OMRFActVLTStable), "003-066", "003-125", "003-754"), groups = OMRFActVLTS.statusplus)
Error in chol.default(sigma) : 
  the leading minor of order 2 is not positive definite```


...