1

2 つのバッチを含むデータセットで 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>
...

どんなヒントでも大歓迎です。必要に応じて、さらに情報を提供します。

ありがとう

4

2 に答える 2

0

私はそれを行う方法を見つけ出し、次を追加しました:

# 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
于 2013-06-11T11:57:16.210 に答える