दिलचस्प पोस्ट
पूर्ण स्क्रीन जावा में जेफ्रेम कैसे pyspark में dataframe स्तंभ नाम बदलने के लिए? विजुअल स्टूडियो 2010 के लिए क्यूटी कैसे तैयार करें क्यों यह जावा कोड एक विधि के बाहर घुंघराले ब्रेसिज़ ({}) में है? मैं एक टैबकंट्रोल को बाइंड करने के लिए ViewModels का संग्रह कैसे कर सकता हूं? एक प्रभावी और आसान तरीके से पदानुक्रम, अभिभावक / बाल संबंध प्राप्त करना वर्तमान निर्देशिका में सभी निजी फाइलों को देखने के लिए आदेश को क्रमबद्ध रूप से देखें छपाई यूटीएफ -8 स्ट्रिंग्स printf-wide vs. multibyte स्ट्रिंग literals सी # कैसे आभासी keycode अनुवाद करने के लिए चार? मैं कैसे जांचूं कि उपयोगकर्ता कुंजी दबा रहा है? लैंडस्केप अभिविन्यास में UIImagePickerController का उपयोग करना Javaagents के बारे में ट्यूटोरियल उद्देश्य-सी में सरल HTTP पोस्ट का उदाहरण? स्टॉपवॉच बनाम। का उपयोग करते हुए सिस्टम.डेटाइट.अब समय के लिए घटनाओं प्रक्रिया। प्रारंभ: आउटपुट कैसे प्राप्त करें?

dplyr: "n () में त्रुटि: फ़ंक्शन को सीधे नहीं बुलाया जाना चाहिए"

मैं dplyr पैकेज में उदाहरणों में से एक को पुन: उत्पन्न करने का प्रयास कर रहा हूं, लेकिन यह त्रुटि संदेश। मुझे उम्मीद है कि प्रत्येक संयोजन की आवृत्ति के साथ उत्पादित एक नया कॉलम n। क्या कोई मुझे बता सकता है कि मुझे क्या याद आ रहा है? मैंने ट्रिपल की जांच की कि पैकेज भरी हुई है। हमेशा की तरह, मदद के लिए धन्यवाद

library(dplyr) # summarise peels off a single layer of grouping by_vs_am <- group_by(mtcars, vs, am) by_vs <- summarise(by_vs_am, n = n()) #Error in n() : This function should not be called directly 

वेब के समाधान से एकत्रित समाधान "dplyr: "n () में त्रुटि: फ़ंक्शन को सीधे नहीं बुलाया जाना चाहिए""

मैं मानता हूं कि आपके पास एक ही सत्र में dplyr और plyr लोड किए गए हैं। dplyr नहीं है ddply dplyr पैकेज में कोई फ़ंक्शन नहीं है

दोनों dplyr और plyr कार्यों के summarise / summarize

मुखौटे वाली वस्तुओं को देखने के लिए conflicts() के परिणाम देखें

जैसा कि पिछले उत्तर के अनुसार वर्णित है, आपके पास पीलीर और डीप्टर के बीच एक संघर्ष हो सकता है। आप plyr पैकेज को अनलोड करने के लिए यह आदेश चला सकते हैं।

 detach("package:plyr", unload=TRUE) 

तो आप अपेक्षा के अनुसार जारी रख सकते हैं

 library(dplyr) ... summarise(n = n()) 

मास्किंग फ़ंक्शंस से भ्रम से बचने के लिए, यह "पैकेज :: फ़ंक्शन" विनिर्देश का उपयोग करने के लिए स्पष्ट है, जैसे नीचे दिए गए उदाहरण:

 delay <- dplyr::summarise(by_tailnum, count = n(), dist = mean(distance, na.rm = TRUE), delay = mean(arr_delay, na.rm = TRUE)) 

दूसरे मामले में, यह त्रुटि निम्न कोड में हुई है।

 library(dplyr) # dplyr 0.5.0 library(lazyeval) df <- data_frame(group = c(1, 2, 2, 3, 3, 3)) g <- "group" df %>% group_by_(g) %>% summarise_( n = n(), sum = interp(~sum(col, na.rm = TRUE), col = as.name(g)) ) # Error in n() : This function should not be called directly 

इसे निम्नानुसार हल किया जा सकता है

 df %>% group_by_(g) %>% summarise_( n = "n()", sum = interp(~sum(col, na.rm = TRUE), col = as.name(g)) ) # A tibble: 3 × 3 # group n sum # <dbl> <int> <dbl> # 1 1 1 1 # 2 2 2 4 # 3 3 3 9