मैं आर में एक अजीब समस्या से लड़ रहा हूं। मैं आरसीपीपी का पुराना संस्करण उपयोग करता हूं कुछ सी ++ के साथ आर को एकीकृत करने के लिए (दुख की बात है अपग्रेडिंग एक विकल्प नहीं है!), मैं जिस आरसीपीपी का उपयोग करता हूं वह पुराना आरसीसीपीप्लेट है। हालांकि मुझे संदेह है कि समस्या वहां है।आर में इस त्रुटि के सामान्य मामले क्या हैं: "SET_STRING_ELT() का मान 'CHARSXP' होना चाहिए 'वर्ण' नहीं '
मैं कुछ आर कोड है जो ठीक समय की सबसे चलाता है, लेकिन (खासकर जब डेटा की एक बड़ी राशि के प्रसंस्करण) अवसर पर Value of SET_STRING_ELT() must be a 'CHARSXP' not a 'character'
यह हमेशा सूची के संचालन में विफल रहता है, जैसे के साथ रहस्यमय तरीके से विफल रहता है:
res[["blabla"]] = r
लेकिन अगर मैं options(error=recover)
का उपयोग करता हूं और त्रुटि के बाद इसका प्रयास करता हूं, तो असाइनमेंट को कोई समस्या नहीं हो सकती है। सी ++ केवल संख्यात्मक वैक्टर से संबंधित है और असल में असाइनमेंट से कोड को असफल होने में बहुत दूर है।
तो मेरा अस्पष्ट सवाल यह है कि: इस तरह के व्यवहार के सबसे आम कारण क्या हैं? खराब यादाश्त? खराब वस्तुओं (शायद खराब 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
एक पुनरुत्पादित उदाहरण आपको मदद करने के लिए थोड़ा आसान बना देगा --- जो कुछ भी मुश्किल होगा क्योंकि कुछ लोग अभी भी आपके जैसे दिनांकित सॉफ़्टवेयर संस्करण चलाते हैं। –
मेरी इच्छा है कि मेरे पास एक सॉफ्टवेयर था जिस पर मैं चलाता हूं: एस इस समस्या को पुन: पेश करना मुश्किल है, इसलिए मुझे संदेह है कि इसे किसी प्रकार के स्मृति भ्रष्टाचार के साथ करना है। मेरा सवाल लाइनों के साथ और अधिक है, क्या आपने कभी कुछ इसी तरह से लड़ा है? क्या समस्या हो रही है? डिबगिंग में थोड़ा सा मार्गदर्शन ... –
जैसा कि आप कल्पना कर सकते हैं, मेरा उपयोग उस पर ध्यान केंद्रित नहीं करता जिसे हम बहिष्कृत आरसीपीपी एपीआई कहते हैं। त्रुटि संदेश के लिए, मुझे नहीं लगता कि मैंने इसे कभी देखा है। यह आर में भी तय हो सकता है। –