我使用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?