指定された関数からエラーがスローされると、plyr が一貫してクラッシュするという問題が発生しています
> require(plyr)
Loading required package: plyr
Warning message:
package ‘plyr’ was built under R version 3.0.2
> df <- data.frame(group=c("A","A","B","B"), num=c(11,22,33,44))
> ddply(df, .(group), function(x) {x})
group num
1 A 11
2 A 22
3 B 33
4 B 44
> ddply(df, .(group), function(x) {stop("badness")})
called from: (function ()
{
.rs.breakOnError(TRUE)
})()
Error in .fun(piece, ...) : badness
Browse[1]>
# Crashes immediately
これが発生する理由とそれを防ぐ方法を知っている人はいますか (もちろんエラーを回避する以外に)?
(私はプラットフォームで R 3.0.1 を実行しています: Windows 7 で RStudio 0.98.274 を介して i386-w64-mingw32/i386 (32 ビット))
編集 回避策として、クラッシュを回避する警告としてエラーをリダイレクトしています
ddply(df, .(group), function(x) tryCatch(stop("badness"), error = function(e) warning(e)) )
plyr と R のバージョンを一致させることができた場合、ここで何が起こるかを報告します。