R の奇妙な問題と戦っています。古いバージョンの Rcpp を使用して、R を C++ と統合しています (残念ながら、アップグレードはオプションではありません!)。使用する Rcpp は古い RccpTemplate です。しかし、問題はそこにあるとは思えません。
ほとんどの場合は正常に動作する R コードがありますが、場合によっては (特に大量のデータを処理する場合)、不思議なことに失敗しますValue of SET_STRING_ELT() must be a 'CHARSXP' not a 'character'
リスト操作では常に失敗します。たとえば、次のようになります。
res[["blabla"]] = r
しかしoptions(error=recover)
、エラーの後に同じことを使用して試行すると、問題なく割り当てを実行できます。C++ は数値ベクトルのみを処理し、実際には失敗した代入からコードが遠く離れています。
私の漠然とした質問は次のとおりです。そのような行動の最も一般的な原因は何ですか? 記憶違い?不良オブジェクト (おそらく不良RcppResultSet
)? この問題を攻撃するのに問題があります...
完全を期すために:
platform i386-pc-solaris2.10
arch i386
os solaris2.10
system i386, solaris2.10
status
major 2
minor 10.1
year 2009
month 12
day 14
svn rev 50720
language R