PLS-DA справляется с отсутствующими ценностями - PullRequest
0 голосов
/ 23 января 2020

Я выполняю OPLSDA , во всех моих столбцах есть пропущенные значения .

Я выполняю следующие инструкции: https://www.bioconductor.org/packages/devel/bioc/vignettes/ropls/inst/doc/ropls-vignette.html

Это мой код:

    if (!requireNamespace("BiocManager", quietly = TRUE))
  install.packages("BiocManager")
BiocManager::install(version = "3.10")
BiocManager::install("ropls")
library(ropls)

dataMatrix=df.Baseline.All[,c(6:63,74:143)]
dataMatrix= dataMatrix[c(23:294),]

dataMatrix = as.matrix(as.data.frame(lapply(dataMatrix, as.numeric)))

str(dataMatrix)
class(dataMatrix)


sampleMetadata = df.Baseline.All[,c(2,165,168,192)]
sampleMetadata= as.data.frame(sampleMetadata)

attach(df.Baseline.All)
dev.off()
view(dataMatrix)

dev.off()
view(sampleMetadata)


adds.pca <- opls(dataMatrix)

add.pcs <- opls (dataMatrix) выдает ошибку </p>

Error: 'x' contains columns with 'NA' only

как я могу обработать пропущенные данные ??

Вот как программное обеспечение SIMCA работает с пропущенными значениями:" Проще говоря, алгоритм NIPALS интерполирует отсутствующую точку с использованием подгонки по методу наименьших квадратов, но не дает отсутствующим данным никакого влияния на модель. Последовательные итерации уточняют отсутствующее значение, просто умножая оценку и загрузку для этой точки. Существует много различных методов для отсутствующих данных. , такие как оценка, но они обычно сходятся к одному решению. Пропущенные данные допустимы, если они распределены случайным образом. Систематические c блоки отсутствующих данных являются проблематичными c. "

Как бы вы сделать это в R?

Спасибо! Lili

...