2009-11-24 91 views
2

我試圖正常化的使用R.然而,其中一些看起來Affymetrix公司CEL文件大的量被截斷,這樣當讀取它們時,我得到的錯誤快速評估文件

Cel file xxx does not seem to have the correct dimensions 

正常化停止。手動刪除損壞的文件並每次重新啓動都需要很長時間。你知道是否有一個快速的方式(在R或工具)來檢測損壞的文件?

PS我99.99%地肯定我是從同一平臺一起正常化的CEL,它實際上只是截斷文件:-)

回答

4

一個簡單的建議:

你能只使用一個tryCatch塊周圍你的read.table(或你正在使用的讀命令)?然後,如果您收到該錯誤消息,則跳過一個文件。您也可以在catch塊中編譯損壞的文件列表(我建議這樣做,以便在運行像這樣的大批量進程時跟蹤損壞的文件以備將來參考)。這裏的僞代碼:

corrupted.files <- data.frame() 
for(i in 1:nrow(files)) { 
    x <- tryCatch(read.table(file=files[i]), error = function(e) 
     if(e=="something") { corrupted.files <- rbind(corrupted.files, files[i]) } 
     else { stop(e) }, 
     finally=print(paste("finished with", files[i], "at", Sys.time()))) 
    if(nrow(x)) # do something with the uncorrupted data    
} 
+0

不壞謝謝:-)它可以消除損壞的文件。 (要閱讀它們,我使用BioConductor的特定ReadAffy函數,但沒關係)。 我仍然需要一些東西來檢查平臺的名稱,但這可能是bioconductor論壇的東西。 – 2009-11-24 17:30:47