3

指定された関数からエラーがスローされると、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 のバージョンを一致させることができた場合、ここで何が起こるかを報告します。

4

1 に答える 1

2

R 3.1.1 と plyr 1.8.1 で同じ問題が発生しました。

それを修正するために、ソースからパッケージを再インストールしました。

install.packages("plyr", type = "source")
于 2014-07-28T07:48:59.520 に答える