के साथ काम नहीं करता है, मैं suppressWarnings()
फ़ंक्शन का उपयोग करके चेतावनियों को दबाने की कोशिश कर रहा हूं।suppressWarnings() पाइप ऑपरेटर
आश्चर्यजनक रूप से, यह सामान्य रूप से उपयोग किए जाने पर चेतावनियों को हटा देता है, लेकिन जब आप पाइप %>%
ऑपरेटर का उपयोग करते हैं तो ऐसा करने में विफल रहता है।
यहां कुछ उदाहरण कोड है:
library(magrittr)
c("1", "2", "ABC") %>% as.numeric()
# [1] 1 2 NA
# Warning message:
# In function_list[[k]](value) : NAs introduced by coercion
c("1", "2", "ABC") %>% as.numeric() %>% suppressWarnings
# [1] 1 2 NA
# Warning message:
# In function_list[[i]](value) : NAs introduced by coercion
suppressWarnings(c("1", "2", "ABC") %>% as.numeric())
# [1] 1 2 NA
यह कोष्ठक के साथ क्यों काम करता है, लेकिन पाइप ऑपरेटर के साथ नहीं? क्या कोई विशिष्ट वाक्यविन्यास है जिसका उपयोग इसे करने के लिए करना चाहिए?
एक और कामकाज 'सी (" 1 "," 2 "," एबीसी ")%>% {suppressWarnings (as.numeric (।))}' –
मुझे उम्मीद नहीं है कि आप जो कोशिश कर रहे हैं उसे करने का एक तरीका है करने के लिए। पाइप ऑपरेटर पिछले कॉल द्वारा ऑब्जेक्ट वापस ले जाता है और इसे अगली कॉल पर आगे बढ़ा देता है। चेतावनी वस्तुओं का हिस्सा नहीं हैं; जब वे होते हैं तो उन्हें कास्ट किया जाता है, और एक समारोह से अगले तक पारित नहीं किया जा सकता है। मुझे लगता है कि सबसे पठनीय समाधान कॉल की पूरी श्रृंखला के आसपास 'suppressWarnings' को लपेटना है। – Benjamin
मुझे लगता है कि आपको 'try' (त्रुटियों को कैप्चर करने के लिए) के साथ एक ही समस्या होगी – Cath