Saturday 15 May 2010

R remove redundant parentheses from formula string or expression -


मेरे पास कई सूत्र स्ट्रिंग हैं, जैसे:

  str & lt; - (( (ए) * जे) - ((जे) * जी)) / जेड "  

वहाँ कई कोष्ठक हैं जिनकी आवश्यकता नहीं है, (ए * जे - जे * जी) / जेड पर्याप्त है क्या आर में कोई फ़ंक्शन या पैकेज है जो इस का ख्याल रख सकता है?

मैंने आर एक्सप्रेशंस के लिए फ़ंक्शन और साथ ही as.formula की कोशिश की लेकिन मुझे क्या जरूरत नहीं मिली।

यहाँ कुछ दृष्टिकोण दिए गए हैं:

आर पार्सिंग <पी> अंतिम पंक्ति रिटर्न:

  (ए * जे-जे * जी) / जेड   

यह मैंने सभी मामलों में काम करने की कोशिश की, लेकिन आप इसे थोड़ा और अधिक परीक्षण करना चाह सकते हैं।

यदि आप रिटर्न मान के रूप में एक अक्षर स्ट्रिंग चाहते हैं तो deparse के रूप में deparse (rmParen (parse (text = S) [[1]]) ध्यान दें कि छोड़ दिया में एक width.cutoff तर्क होता है जिसे डिफ़ॉल्ट रूप से 60 पर सेट किया जाता है लेकिन इसे सेट किया जा सकता है यदि वास्तविक अभिव्यक्ति उस लंबाई से अधिक हो तो बड़ा हो।

रियाकास

  लाइब्रेरी (रियाकास) s & lt; - "(((ए) * जे) - ((जे) * जी)) / जेड "सरलीकृत करें   

अंतिम पंक्ति रिटर्न:

  अभिव्यक्ति ((ए - जी) * जे / जेड)   

ध्यान दें कि वास्तव में प्रिंट विधि जो गणना को लागू करती है, यदि आप इसे सहेजना चाहते हैं तो कोशिश करें yacas (सरल करें) $ text या as.character (yacas) (सरल (एस)))

जोड़ा गया: Ryacas समाधान।

No comments:

Post a Comment