tryCatch(
{ エラーを出すかもしれない処理 }
, error = function(e) { エラーに対して行う処理 }
)
と書く。遺伝子発現行列geneに対して網羅的にt検定をしてp値を得たい場合。Rのt検定の関数は一群すべてNAだった場合などにはエラーとなってしまう。このような項目にはとりあえず1を入れて処理したい場合。
ps = c()
for(i in 1:nrow(genes)){
tryCatch(
{ps[i] = t.test(genes[i,case], genes[i,cont])$p.value}
, error = function(e){ps[i] = 1}
)
}