lapplyとfriendsを使用して書かれたコードは、通常、目の上ではより簡単であり、ループよりも沢山あります。私は次の人と同じくらい礼賛しがっているのが大好きですが、状況が悪くなったらデバッグするにはどうしたらいいですか?例:lapply/sapplyコールのデバッグ
> y <- rep(NA, length(x))
> for (i in 1:length(x)) {
+ y[i] <- 1/x[[i]]
+ }
Error in 1/x[[i]] : non-numeric argument to binary operator
しかし、エラーが起こった場所を私は知っているだろう::
> ## a list composed of numeric elements
> x <- as.list(-2:2)
> ## turn one of the elements into characters
> x[[2]] <- "what?!?"
>
> ## using sapply
> sapply(x, function(x) 1/x)
Error in 1/x : non-numeric argument to binary operator
は、ループのためにIを使用していたlapply/sapplyを使用した場合
> i
[1] 2
は、私が何をすべきでしょうか?
または単に 'blah <-appl(x、mfn)'です。そして、あなたは 'debug'とrecover'の両方を必要とすべきではありません。 – hadley