Rで例外処理

Rのbaseパッケージのt.test関数は、2群が全て同じ定数だとエラーとなる。
他変数のデータを網羅的に検定するときなど、ここで処理止まると面倒くさい。。。

group1 <- rep(1, 5)
group1 <- rep(0, 5)
t.test(group1, group2, var.equal = T) #スチューデントのt検定を実施
t.test.default(group1, group2, var.equal = T) でエラー: 
   データは本質的に定数です 


そこで、例外処理でエラーが出る際にはNAを返すようにする。
Rではtry関数あるいはtryCatch関数で例外処理できるので、

tryCatch({
        t.test(group1, group2, var.equal = T)$p.value
        }, 
        error = function(err){
                return(NA)
})
[1] NA


参考:
例外処理 | R の try 関数あるいは tryCatch 関数で例外処理