Data.table: [R-Forge # 5580] تصبح الوظائف غير المرئية مرئية في التعبير j

تم إنشاؤها على ٨ يونيو ٢٠١٤  ·  8تعليقات  ·  مصدر: Rdatatable/data.table

المقدم من: إدوارد أنتونيان ؛ مخصص لـ: لا أحد ؛ رابط R-Forge

fn = function() {invisible(1:5)}

dt[, fn()]
# [1] 1 2 3 4 5

هذا أمر مزعج جدًا عند استخدام مثل boxplot .

bug wontfix

التعليق الأكثر فائدة

لا ، لأن R يفرض الرؤية داخليًا على [ على عكس with() . راجع الأسئلة الشائعة 2.22 .

ال 8 كومينتر

eantonya هل يمكنك تقديم مثال على استخدام boxplot ؟

ترتبط المشكلة هنا إلى حد كبير بـ := ، كما هو موضح في الأسئلة الشائعة 2.22 .

أفضل ما يمكننا فعله هو إرجاع _iff_ fn() غير مرئي إرجاع data.table . عدا ذلك ، سيتعين علينا تعديل _ all_ طرق الطباعة بنفس الطريقة التي يستخدمها print.data.table بذكاء باستخدام .global$print .

لقد أضفت التصنيف "لن يتم إصلاحه" في الوقت الحالي. نظرًا لأنها مشكلة في الطريقة التي تفرض بها القاعدة R الرؤية على [ . إذا كنت توافق ، يمكننا إغلاق هذا على هذا النحو (ما لم يكن هناك بديل يمكننا التوصل إليه).

وضع علامات على mattdowle أيضًا.

أعتقد أن هذا قد يكون مطابقًا للرقم 1471. فقط وجدت هذا.

إنه أمر سيء للغاية ، حيث لا يقوم R بإرجاع شيء بسمة "invisible" عندما تكون نتيجة invisible . هذا سيجعل هذا سهلا

إعادة الارتباط بـ http://stackoverflow.com/a/36093766/403310 الذي يرتبط هنا. يمكننا إعادة زيارة الأسئلة الشائعة 2.18 (الحل لم ينجح بالنسبة لي عندما اختبرته للتو) بالإضافة إلى 2.22 وقد مر أكثر من عام منذ آخر مرة بحثنا فيها ، لذا فقد تكون هناك محاولة أخرى مستحقة.

همم. لاحظت للتو أن with(dt, fn()) _لا يطبع الإخراج. أعتقد أن هذا مرتبط بمشكلة .global$print بأكملها أكثر من أي شيء آخر ، إذن.

لا ، لأن R يفرض الرؤية داخليًا على [ على عكس with() . راجع الأسئلة الشائعة 2.22 .

لا يمكن أن تعمل نفس خاصية منع الطباعة العالمية التي تعمل مع := هنا؟

وفقًا لتعليق Arun ، لا يمكننا فعل الكثير بشأن فرض رؤية R [ ، الحل هو لف تعبير data.table إلى invisible .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات