2015-01-21 15 views
9

को संश्लेषित किया जाना चाहिए, मुझे लगता है कि मैंने वर्तनी गलती के साथ अपनी पहली त्रुटि को ठोकर खाई है।dplyr & r: बेनामी फ़ंक्शन myst को

मैं आर और dplyr के साथ निम्नलिखित कोड चला रहा हूँ।

> foobar = c(1,2,3) 
> foobar %>% as.character 
[1] "1" "2" "3" 

यह ठीक काम करता है, अब मैं इसे किसी अज्ञात फ़ंक्शन के माध्यम से चलाने का प्रयास करता हूं।

> foobar %>% function(x) x * 2 
Error: Anonymous functions myst be parenthesized 

कोई विचार क्या हो रहा है? (और जहां मुझे 'मिस्ट' को 'जरूरी' करने के लिए सही करने के लिए पिंग करने की ज़रूरत है)?

+0

'dplyr_0.4.0' में, त्रुटि 'त्रुटि है: अज्ञात फ़ंक्शंस को संश्लेषित किया जाना चाहिए' – akrun

+1

त्रुटि संदेश लगभग एक महीने पहले मैग्रिटर के dev संस्करण में तय किया गया था, इसलिए मुझे लगता है कि मैग्रिटर जब फिक्स क्रैन पर आएगा 1.6 बाहर आता है। यहां देखें: https://github.com/smbache/magrittr/commit/e95aa63960e6926b701d0fe927587bacccb53f0f – Ajar

उत्तर

11

त्रुटि संदेश काफी जानकारीपूर्ण है (भले ही एक शब्द गलत वर्तनी है)। अज्ञात फ़ंक्शन के चारों ओर कोष्ठक रखें।

foobar <- 1:3 
foobar %>% (function(x) x * 2) 
# [1] 2 4 6 

स्पष्टीकरण के लिए,

help("%>%", "magrittr") 

में %>% के साथ कॉल या समारोह उत्पादक आरएचएस अनुभाग का उपयोग करना देखें यह dplyr कोई लेना देना नहीं है। त्रुटि संदेश में टाइपो के लिए, जब भी आपको कुछ ऐसा लगता है जिसे ध्यान देने की आवश्यकता हो तो आप पैकेज रखरखाव से संपर्क कर सकते हैं। हालांकि यह magrittr के सबसे हाल के विकास संस्करण में this has been fixed लगता है। एक आसान तरीका है एक पैकेज के मेंटेनर को खोजने के लिए

maintainer("magrittr") 

परिणाम यहाँ छोड़ दिया जाता है उपयोग करने के लिए है, क्योंकि यह एक ईमेल पता होता है।

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