هل هناك ملامح R تعتمد على النظام؟




interop operating-system (3)

ويود زملائي في العمل التأكد من أن عملنا في R هو نظام مستقل، خاصة أن هذا الرمز سوف يعمل على لينكس و ماك و ويندوز، وأن الملفات التي تم إنشاؤها على نظام واحد ستعمل على أنظمة أخرى.

وبما أن المسألة قد طرحت من قبل في مجموعتي، فإنني أقدر الحصول على إجابة عامة ستسهل علي أن أؤكد لمتعاونين بثقة أنه لن تكون هناك مشكلة. على سبيل المثال، من شأنه أن يساعد على الحصول على إشارة أخرى من "لأن (خبير الموضوع) قال ذلك سو".

  1. بشكل عام، هل هناك طريقة لمعرفة ما إذا كانت أي ميزات من R هي منصة محددة (هل يمكنني افتراض أن هذا سيتم ذكره في مساعدة الدالة)؟
  2. هل هناك حزم أو وظائف يمكنني أن أكون واثقا ستكون منصة مستقلة؟
  3. هل هناك أنواع من الحزم أو الوظائف التي يجب أن أحذر منها؟

لقد سبق أن سألت اثنين من الأسئلة حول قراءة عبر منصة من الملفات التي تم إنشاؤها بواسطة R: ما هي عيوب استخدام ملفات .Rdata مقارنة HDF5 أو نيتدف؟ وهل يتم إغراق كائنات R باستخدام `dump` قراءة عبر منصة؟


Answer #1

بالإضافة إلى تعليقات كارل و ديرك، يجب أن تفهم أن أي حزمة تتطلب تجميع من المصدر (كما تفعل العديد (كل؟) الحزم التي هي على أوميجاهات، ريفورج أو r- تزوير) سوف تحتاج إلى القيام به على الجهاز الذي لديه C المناسبة ومكتبات فورتران. بعض حزم مثيرة للاهتمام تعتمد على غك + و تكل / تك، وربما تكون هناك حاجة للتأكد من أنك يمكن الحصول على الإصدارات الصحيحة. تعد صفحة http://r.research.att.com/ التي يحتفظ بها سيمون أوربانيك موردا مفيدا لمواكبة موارد الدعم لنظام التشغيل ماك.


Answer #2

تحقق من cran.r-project.org للحصول على بطاقات البيانات. كل حزمة لديها الصفحة التي سوف اقول لكم إذا كان تمرير اختبار لأنظمة التشغيل المختلفة. وعلاوة على ذلك، كما اقترحتم، ملفات المساعدة هي واضحة جدا حول تبعيات نظام التشغيل. R هو "الذكية" بما فيه الكفاية لترجمة "/" إلى "\" في أسماء المشاهدين لأولئك الفقراء الذين يعملون في ويندوز. بشكل عام، الوصول إلى الرسومات هو المنطقة الأكثر احتمالا أن يكون تبعيات منصة. من الواضح إذا كان النظام يفتقر إلى {X11، إيماجيماجيك، ..} كنت عالقة على أي حال.


Answer #3

بالإضافة إلى الجواب كارل، والطريقة واضحة لضمان أن عملك في منصة مستقلة هو لاختبار على جميع المنصات.

وهذا هو بالضبط ما يفعل كران مع 3800+ حزم، وكان لديك الوصول إلى سجلات هنا .

باختصار، R يحاول حقا من الصعب أن يكون منصة مستقلة، وتنجح في الغالب. ولإجراء ذلك باستخدام الشفرة، يرجع الأمر إليك لتجنب واجهات برمجة التطبيقات أو الأدوات التي تعرض التبعيات. نظرة على التجريدات مثل system.file(package="boot") والوظائف التي تستخدم --- يمكنك بسهولة مجردة ملف نظام "جذور"، وفواصل هي بالفعل رعاية.





operating-system