Каковы распространенные случаи этой ошибки в R: «Значение SET_STRING_ELT () должно быть «CHARSXP», а не «персонаж» »

Я борюсь со странной проблемой в R. Я использую старую версию Rcpp для интеграции R с некоторым C ++ (к сожалению, обновление не вариант!), Rcpp, который я использую, - это старый RccpTemplate. Однако я сомневаюсь, что проблема именно в этом.

У меня есть некоторый код R, который большую часть времени работает нормально, но иногда (особенно при обработке большого количества данных) таинственным образом выходит из строя с Значение SET_STRING_ELT () должно быть 'CHARSXP', а не 'символом'

Он всегда терпит неудачу в операциях со списком, например:

res[["blabla"]] = r

Но если я использую параметры (error = recovery) и пытаюсь сделать то же самое после ошибки, задание может быть выполнено без проблем. 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
8
задан Dr G 1 April 2011 в 09:08
поделиться