2012-12-10 9 views
5

मैं bigmemory पैकेज R में उपयोग करने का प्रयास करता हूं और मैं बहुत शुरुआत में फंस गया हूं। मैं करता हूं:आर :: bigmemory - कैसे चरित्र big.matrix बनाने के लिए?

temp <- matrix(paste("a",1:10), 5, 2) 

और एक चरित्र मैट्रिक्स प्राप्त करें। ठीक है। लेकिन तब मैं कोशिश:

x <- as.big.matrix(temp, type="char") 

और मैं एक मैट्रिक्स एनए से भरा और निम्न संदेश मिलता है:

Assignment will down cast from double to char 
Hint: To remove this warning type: options(bigmemory.typecast.warning=FALSE) 
Warning messages: 
1: In as.big.matrix(temp, type = "char") : Casting to numeric type 
2: In matrix(as.numeric(x), nrow = nrow(x), dimnames = dimnames(x)) : 
NAs introduced by coercion 
3: In SetElements.bm(x, i, j, value) : 

मुझे यकीन है कि क्या हो रहा है नहीं कर रहा हूँ लेकिन यह सब कन्वर्ट करने के लिए कोशिश करता है big.matrix लग रहा है 0xके बावजूद मेरे ग्रंथ संख्याओं में हैं। इसे कार्यशील कैसे करें?

उत्तर

6

यह एक गलत नामक है - big.matrix ऑब्जेक्ट्स केवल संख्यात्मक डेटा प्रकारों को संग्रहित करता है। 'Char' प्रकार एक सी ++ डेटा प्रकार है जो पूर्णांक मानों को संग्रहीत करने के लिए उपयोग किया जाता है जो ASCII वर्ण कोड (एक वर्ण, वर्ण स्ट्रिंग नहीं) का प्रतिनिधित्व करते हैं। किसी बड़े .matrix में वर्ण तारों को संग्रहीत करने के लिए, आपको तारों को संख्यात्मक मानों के रूप में फिर से कोड करना होगा (या कारकों में परिवर्तित करना होगा, फिर संख्यात्मक मानों पर)।

यदि आपको चरित्र डेटा को बहुत बड़े डेटा सेट में स्टोर करने की आवश्यकता है, तो आप 'एफएफ' पैकेज में देखना चाहेंगे। मेरे अनुभव में यह एक सीधी सीखने की वक्र है और दस्तावेज़ीकरण में कुछ कमी है, लेकिन इसमें कार्यक्षमता है।

बड़े डेटा सेट के साथ काम पर अधिक जानकारी के लिए, आप बाहर क्रैन टास्क देखें यहाँ देख सकते हैं: http://cran.r-project.org/web/views/HighPerformanceComputing.html

+0

बहुत बहुत शुक्रिया। अब मैं समझ गया। – user1890450

संबंधित मुद्दे