Я борюсь со странной проблемой в R. Я использую старую версию Rcpp для интеграции R с некоторым C ++ (к сожалению, обновление не вариант!), Rcpp, который я использую, является старым RccpTemplate. Однако я сомневаюсь, что проблема там.
У меня есть некоторый код R, который в большинстве случаев работает нормально, но иногда (особенно при обработке большого количества данных) происходит таинственный сбой при Value of SET_STRING_ELT() must be a 'CHARSXP' not a 'character'
Всегда происходит сбой в операциях со списком, например ::1006
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