使用try时使用lapply的语法

时间:2015-08-25 15:07:33

标签: r try-catch lapply

我使用try()来捕获lapply()调用中的错误。

使用此处的示例

http://adv-r.had.co.nz/Exceptions-Debugging.html#condition-handling

elements <- list(1:10, c(-1, 10), c(T, F), letters)
results <- lapply(elements, function(x) try(log(x), silent = T))

警告讯息: 在log(x)中:生成NaNs

使用该语法尝试捕获错误并生成输出结果。

但如果第二行编码如此,则失败。我只是在想为什么。

results <- lapply(elements, try(log))

FUN中的错误(X [[i]],...):数学函数的非数字参数 另外:警告信息: 在FUN(X [[i]],...):NaNs产生

我知道我可以编写函数并且lapply仍然可以使用上面的语法。例如

f <- function(x) x
g <- function (x) x
x <- c(1:5)
lapply(x, f(g))

有什么特别的&#34;尝试&#34;在这种情况下,需要显式调用变量x?

0 个答案:

没有答案