मैंने निम्नलिखित कमांड के प्रतिगमन के बारे में एक ट्यूटोरियल में देखा:
myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
वास्तव में यह कमांड क्या करता है, और कमांड में ~(टिल्ड) की भूमिका क्या है ?
मैंने निम्नलिखित कमांड के प्रतिगमन के बारे में एक ट्यूटोरियल में देखा:
myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
वास्तव में यह कमांड क्या करता है, और कमांड में ~(टिल्ड) की भूमिका क्या है ?
जवाबों:
के दाईं ओर की वस्तु <-एक formulaवस्तु है। यह अक्सर एक सांख्यिकीय मॉडल को निरूपित करने के लिए उपयोग किया जाता है, जहां बाईं ओर की चीज ~प्रतिक्रिया है और दाईं ओर की चीजें ~व्याख्यात्मक चर हैं। तो अंग्रेजी में आप कहेंगे कि "स्पीशीज़ सेपल लेंथ, सेपल विथ, पेटल लेंथ और पेटल विथ" पर निर्भर करता है ।
myFormula <-उस पंक्ति का भाग किसी ऑब्जेक्ट में सूत्र को संग्रहीत करता है, जिसे myFormulaआप अपने R कोड के अन्य भागों में उपयोग कर सकते हैं।
आर में सूत्र वस्तुओं के अन्य सामान्य उपयोग
latticeपैकेज उन का उपयोग करता है करने के लिए साजिश करने के लिए चर निर्दिष्ट । पैकेज उन का उपयोग करता है करने के लिए साजिश रचने के लिए पैनल निर्दिष्ट । पैकेज के लिए उन्हें का उपयोग करता अमानक evaulation ।ggplot2dplyr
lazyevalशब्दचित्र के लिए एक अच्छा परिचय देता है क्या एक सूत्र है
~सूत्रों में उपयोग के लिए आर (टिल्ड) ऑपरेटर को परिभाषित करता है । सूत्रों के सभी प्रकार के उपयोग हैं, लेकिन शायद प्रतिगमन के लिए सबसे आम है:
library(datasets)
lm( myFormula, data=iris)
help("~")या help("formula")आपको और अधिक सिखाएगा।
@Spacedman ने मूल बातें कवर की हैं। आइए चर्चा करें कि यह कैसे काम करता है।
सबसे पहले, एक ऑपरेटर होने के नाते, ध्यान दें कि यह अनिवार्य रूप से एक फ़ंक्शन का शॉर्टकट है (दो तर्कों के साथ):
> `~`(lhs,rhs)
lhs ~ rhs
> lhs ~ rhs
lhs ~ rhs
उदाहरण के लिए applyपारिवारिक आदेशों में उपयोग के लिए जानना उपयोगी हो सकता है ।
दूसरा, आप पाठ के रूप में सूत्र में फेरबदल कर सकते हैं :
oldform <- as.character(myFormula) # Get components
myFormula <- as.formula( paste( oldform[2], "Sepal.Length", sep="~" ) )
तीसरा, आप इसे सूची के रूप में जोड़ सकते हैं :
myFormula[[2]]
myFormula[[3]]
अंत में, सूत्रों के साथ कुछ उपयोगी ट्रिक हैं ( help("formula")अधिक के लिए देखें ):
myFormula <- Species ~ .
उदाहरण के लिए, उपरोक्त संस्करण मूल संस्करण के समान है, क्योंकि डॉट का अर्थ है "अभी तक उपयोग नहीं किए गए सभी चर"। यह आपके अंतिम मॉडल कॉल में उपयोग किए जाने वाले डेटा.फ़्रेम को देखता है, देखता है कि कौन-से चर डेटा में मौजूद हैं। फ़्रेम लेकिन आपके सूत्र में स्पष्ट रूप से उल्लेख नहीं किया गया है, और उन लापता चर के साथ डॉट को प्रतिस्थापित करता है।
Species~., प्रजाति एकमात्र चर है जिसका उपयोग किया गया है। इसलिए, यह data.frame में हर दूसरे चर पर निर्भर करता है।
myFormula <- Species ~ . । जब डॉट को अभी भी data.frame से चर के साथ प्रतिस्थापित किया जाता है? क्या आप एक उदाहरण प्रदान कर सकते हैं