r 中的 tryCatch() 函数 - 如何保存 error/warning 消息?
tryCatch() funtion in r - How can I save error/warning message?
我正在模拟多级数据并将其拟合到各种多级模型。
我想做一个函数,如果有任何错误(例如“收敛失败”或“奇异拟合”),我想保存它。
比如我的模型是
lmer(y~ x1 + x2 + (1|pid), 数据=sim_data).
这里有很多条件,因此各种数据将适合此模型。
如何将错误或警告消息作为一个整体保存在数据框或列表中?
(例如,第一个数据集 -> 没有错误,第二个数据集 -> 收敛错误...等)
您可以使用 for 循环遍历条件或“各种数据”:
0.Setting 创建一个可能会抛出错误的虚拟函数:
dummyfunction <- function(x) {
if (i == 0) {
stop("Error occurred")
}
return(i * 100)
}
1.Preparing 接收结果列表
result <- list()
2.Iterating 通过不同的“条件”:
for (i in c(-1, 0, 1)) {
# Using tryCatch to handle errors
# that might occur when executing dummyfunction (i.e. put them in the result list)
#
result[[as.character(i)]] <- tryCatch(dummyfunction(i),
error = function(e) e
)
}
我正在模拟多级数据并将其拟合到各种多级模型。
我想做一个函数,如果有任何错误(例如“收敛失败”或“奇异拟合”),我想保存它。
比如我的模型是
lmer(y~ x1 + x2 + (1|pid), 数据=sim_data).
这里有很多条件,因此各种数据将适合此模型。
如何将错误或警告消息作为一个整体保存在数据框或列表中?
(例如,第一个数据集 -> 没有错误,第二个数据集 -> 收敛错误...等)
您可以使用 for 循环遍历条件或“各种数据”:
0.Setting 创建一个可能会抛出错误的虚拟函数:
dummyfunction <- function(x) {
if (i == 0) {
stop("Error occurred")
}
return(i * 100)
}
1.Preparing 接收结果列表
result <- list()
2.Iterating 通过不同的“条件”:
for (i in c(-1, 0, 1)) {
# Using tryCatch to handle errors
# that might occur when executing dummyfunction (i.e. put them in the result list)
#
result[[as.character(i)]] <- tryCatch(dummyfunction(i),
error = function(e) e
)
}