2011-01-10 14 views
5

पर एक अलग पैकेज लिख रहा है, मैं एक आर पैकेज लिख रहा हूं जिसमें आप नेटवर्क बना सकते हैं और उन्हें विभिन्न फ़ाइल-प्रकारों में आउटपुट कर सकते हैं। मुझे पैकेज SVGRTipsDevice मिला है जिसका उपयोग टूलविप्स और हाइपरलिंक्स युक्त एसवीजी चित्र बनाने के लिए किया जा सकता है, जो मुझे वास्तव में पसंद है। मैंने इसे अपने पैकेज में शामिल करने के विकल्पों में से एक के रूप में शामिल किया है, जो इसे मेरे पैकेज का एक अनिवार्य हिस्सा नहीं बना रहा है, लेकिन इसके एक हिस्से (फिर भी मैं इसे रखना चाहता हूं)।एक आर पैकेज लिखना जो प्रति वास्तुकला

समस्या अब यह है कि यह पैकेज केवल 32 बिट उपयोगकर्ताओं के लिए है। क्योंकि मेरा पैकेज इस पर निर्भर करता है कि 64 बिट उपयोगकर्ता इसे इंस्टॉल करने में सक्षम नहीं हैं। ऐसा लगता है कि मुझे या तो अपने पैकेज को 32 बिट-केवल बनाना है या एसवीजी क्षमताओं को हटा देना है (वर्तमान में मैंने बाद में सीआरएएन पर अपलोड करने के लिए चुना है, मेरी साइट पर पूर्ण पैकेज के लिंक के साथ)।

क्या यह अलग तरीके से करने का कोई तरीका है? पैकेज को किसी के लिए इंस्टॉल करने योग्य बनाने की तरह ही केवल 32 बिट उपयोगकर्ताओं के लिए एसवीजी कार्यक्षमता उपलब्ध कराती है?

मेरी मशीन पर

तो:

Sys.info()["machine"] 
machine 
"x86_64" 

संपादित मुझे विश्वास है कि हमें हार्डवेयर की वास्तुकला बताता है, नहीं

+0

जब आप कहते हैं कि "यह मेरे पैकेज का एक अनिवार्य हिस्सा नहीं है, लेकिन इसका एक हिस्सा है" क्या आप Sugggs में SVGRTipsDevice के साथ अपना पैकेज बनाते हैं? – mdsumner

उत्तर

4

सूगस्ट में सूचीबद्ध संकुल: या बढ़ाएं: आपके पैकेज की विवरण फ़ाइल के क्षेत्र को आपके पैकेज को स्थापित करने के लिए उपयोगकर्ता के सिस्टम पर स्थापित करने की आवश्यकता नहीं है, ताकि 32/64 बिट उपयोगकर्ता आपके पैकेज को इंस्टॉल कर सकें। बिट-नेस के परीक्षण के बजाय, आप ok <- suppressWarnings(require(SVGToolTips))), शायद .onLoad या इसी तरह के हो सकते हैं।

+0

धन्यवाद, यह वही है जो मुझे चाहिए था। यह मेरा पहला पैकेज है और मैं कुछ रूकी गलतियों को कर रहा हूं। –

6

सबसे आसान तरीका है मैं के बारे में सोच सकते हैं मशीन प्रकार के लिए Sys.info() जाँच करने के लिए है चाहे आर 32 या 64 बिट है।

R.Version()$arch 
[1] "x86_64" 

तो आप देख सकते मैं: तो यदि कोई उपयोगकर्ता 64 बिट हार्डवेयर था और 32 बिट आर चल रहा था, इसके बाद के संस्करण कोड अभी भी x86_64 वापसी होगी के रूप में सच्चा मेरे लिए ने कहा, एक बेहतर समाधान को चलाने के लिए है एक 64 बिट ओएस चल रहा है और मैं आर

+0

धन्यवाद, यह बहुत उपयोगी होना चाहिए! –

+0

आप आर के आर्किटेक्चर पर जानकारी प्राप्त कर सकते हैं: आर। वर्जन() $ arch –

+0

सच्चा, यह वास्तव में एक अच्छा बिंदु है। मैंने अपनी प्रतिक्रिया संपादित की। यह बात बताने के लिए धन्यवाद। –

0

के 64 बिट संस्करण को चला रहा हूं आप अतिरिक्त कार्यक्षमता के साथ एक पैकगेनाम -32 बिट पैकेज भी बना सकते हैं।

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