问题在于你如何使用它
possibly
.
可能地
需要包装生成错误的函数。你在想这会是一场智力测验。这不是一个错误的想法,因为这也是我的第一选择。但在地图内部,这并不是抛出错误的那个。为的.f部分创建的函数
map
函数抛出错误。我希望我的解释是清楚的,但请检查以下示例,使其在代码中更加清晰。
例1:
# Catch error of chisq.test by wrapping possibly around it
map(df, possibly(chisq.test, NA_real_), x = df$gear)
$`mpg`
Pearson's Chi-squared test
data: df$gear and .x[[i]]
X-squared = 54.667, df = 48, p-value = 0.2362
......
$z
[1] NA
例2相同的结果:
# Catch error of created function inside map. wrap possibly around it
map(df, possibly(function(x) {
chisq.test(df$gear, x)}
, NA_real_ ))