Не удалось запустить скрипт ComBat из библиотеки R sva

Я пытаюсь запустить скрипт ComBat для набора данных с двумя пакетами, но получаю ошибки и не знаю, как проверять код, так как я новичок в R.

Я использую метод ComBat следующим образом:

# Load sva
library(sva)
# Read expression values
dat = read.table('dataset.xls', header=TRUE, sep='\t')
# Read sample information file about batches
sif = read.delim('sif.tsv', header=TRUE, sep='\t')
# Call ComBat
ComBat(dat=dat,batch=sif$Batch, mod=NULL)

В любом случае мой вывод:

Found 2 batches
Found 0  categorical covariate(s)
Found 54675 Missing Data Values
Standardizing Data across genes
Error in solve(t(des) %*% des) %*% t(des) %*% y1 : 
  requires numeric/complex matrix/vector arguments

Формат данных для dat:

probe set    <sample1>   ...    <sampleN>
<gene_name>  <value1>    ...    <valueN>
...

Формат данных для sif:

Array name   Sample name   Batch
<Array1>     <Sample1>     <Batch1>
...

Любая подсказка приветствуется. Я предоставлю больше информации, если это необходимо.

Спасибо


person gc5    schedule 10.06.2013    source источник


Ответы (2)


Похоже, что когда вы читаете информацию, она не сохраняет ее в ожидаемом формате.

Судя по ошибке, ComBat ожидает matrix со значениями numeric или complex. read.table по памяти даст вам data.frame.

Итак, попробуйте запустить:

dat <- as.matrix(dat)
ComBat(dat=dat,batch=sif$Batch, mod=NULL)
person Scott Ritchie    schedule 25.06.2013

Я понял, как это сделать, добавив:

# Remove NA from end of lines
l_dat = length(dat)
dat[l_dat] <- NULL
# Remove probe set from beginning of lines
dat[1] <- NULL

как раз перед вызовом ComBat. Это потому, что последний столбец содержит NA значений (следующее предупреждение исчезает:

Found 54675 Missing Data Values

), а первый столбец содержит набор тестов (нечисловые значения), которые вызывают следующую ошибку:

Error in solve(t(des) %*% des) %*% t(des) %*% y1 : 
  requires numeric/complex matrix/vector arguments
person Community    schedule 11.06.2013