r - tryCatch 似乎没有返回我的变量

标签 r error-handling

我正在尝试使用 tryCatch 生成 p 值列表,矩阵中有几行没有足够的观察值来进行 t 检验。这是我到目前为止生成的代码:

pValues <- c()
for(i in row.names(collapsed.gs.raw)){
  tryCatch({
    t <- t.test(as.numeric(collapsed.gs.raw[i,]) ~ group)
    pValues <- c(pValues, t$p.value)
  },
  error = function(err) {
    pValues <- c(pValues, "NA")
    message("Error")
    return(pValues)
  })}

它肯定会抛出一个错误 [我在 message("Error") 行中进行确认]。问题是向量 pValues 中没有任何“NA”,尽管它应该有。

预先感谢您的帮助!

最佳答案

pvalues在你的函数中是一个局部变量。您可以使用 <<- 解决此问题, 但最好让函数只返回一个所需的值,并使用 sapply 在函数外部收集它们.也许是这样的(未经测试):

pValues <- sapply(rownames(collapsed.gs.raw), function(i) {
  tryCatch({
    t.test(as.numeric(collapsed.gs.raw[i,]) ~ group)$p.value
  },
  error = function(err) {
    message("Error")
    return(NA)
  })
})

关于r - tryCatch 似乎没有返回我的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21956031/

相关文章:

angular - 如何始终返回 index.html Tomcat

r - 使用 R 中的 ggplot2 使用单个椭圆散点图中的点

java - 如何为 R 设置 `Java headers gen.:` (安装 `rJava` )

r - 带位置参数的毛刺 XII 分布

php - PHP OOP在提交表单时不显示错误消息

C编程读取输入错误检查

delphi - 用户友好的异常错误delphi

python - 防止 main 中的回溯

r - geom_text_repel 中的条件尺寸和面孔

r - 如何在R中将列表中的每个元素与另一个列表中的每个元素分开?