R:处理 t.test 中的 NaN 值

R: Handling NaN values in t.test

我有很多向量,我应该对每个向量执行一个 t 检验。 这些向量中的每一个都包含与两组相关的数据,但缺少一些值。例如,其中一个向量可能是:

A <- c(1, NaN, 1.2, 1.5, 5.6, 5.1, 4.8, 4.7)

因子在向量中的位置

B <- c("CTRL", "CTRL", "CTRL", "CTRL", "TRTD", "TRTD", "TRTD", "TRTD")

执行t.test(A~B)时出现错误...我该如何处理?

您收到的错误消息非常有用:您似乎没有足够的观察结果来计算 t.test。但是,您的问题是关于如何生成 NA 而不是中断循环的错误。在这种情况下,您可以使用 tryCatchtrytryCatch 的简化版本):

tryCatch(t.test(x ~ y), error = function(err) return(NA))

在这个函数中,你有 expr 参数,它是你的函数,error 是一个将 错误消息 作为输入并输出任何你想要的东西的函数想要(例如 function(err) print(err) 将简单地在屏幕上打印错误消息)并且 warning 将警告消息作为输入并以类似的方式工作。