如何在R中的t.test中获得NA值而不是“数据基本上恒定”的错误

时间:2017-07-19 09:35:04

标签: r statistics

我有两组数据的大型数据集。我想使用t.test比较它并获取以F_开头的所有列的p.values列表,但由于某些列中的数据,当我使用我的代码时:

TP_FN_ttest <- Map(t.test, x = TP[,grepl(paste0("^F_"),colnames(TP))], 
                           y = FN[,grepl(paste0("^F_"),colnames(FN))])
TP_FN_ttest.pval <- as.data.frame(sapply(TP_FN_ttest, '[[', 'p.value'))

我收到错误:

Error in t.test.default(x = dots[[1L]][[508L]], y = dots[[2L]][[508L]]) : 
data are essentially constant

有没有办法获得p.values列表并在无法应用测试而不是出错时获取NA?

1 个答案:

答案 0 :(得分:2)

你可以使用这样的try catch块:

tryCatch({
  ttest()
}, error = {
  somethingElse()
})