gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 07:40:53 27 4
gpt4 key购买 nike

我正在尝试使用 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com