2015-08-26 4 views
6

मैं एक मॉडल सत्यापन उपकरण बनाने की कोशिश कर रहा हूं जिसमें मैं एक आगे चयन दृष्टिकोण का अनुसरण कर रहा हूं, इसलिए यदि मेरा मान model<- y~a*b+c*d+e है, तो मैं आर attributes(terms(model))$term.labels में नियम फ़ंक्शन का उपयोग कर सकता हूं मेरे मॉडल में सभी भविष्यवाणियों को ढूंढें, लेकिन इस दृष्टिकोण के साथ समस्या यह है कि इंटरैक्शन शब्द हमेशा अंत तक पहुंच जाते हैं। मुझे a:b to be after a and b चाहिए, और अंत में नहीं, और सी के लिए भी जाता है: डी। क्या इंटरैक्शन शर्तों का ऑर्डर करने का कोई तरीका है? क्या कोई मदद कर सकता है?फ़ॉर्मूला मैनिपुलेशन (उचित क्रम में स्थान बातचीत शर्तें)

उत्तर

8

सबसे आसान तरीका terms.formula()

model <- y ~ a * b + c * d + e 
labels(terms(model, keep.order = TRUE)) 
# [1] "a" "b" "a:b" "c" "d" "c:d" "e" 

में keep.order उपयोग करने के लिए मदद फ़ाइल को देखने के लिए हो सकता है, आप, ?terms.formula उपयोग करने के लिए के रूप में इस विधि ?terms में नहीं दिखाया गया है चाहते हैं। लेकिन terms() फॉर्मूला विधि को प्रेषित करेगा। इसके अतिरिक्त, labels()terms() से लेबल शब्द प्राप्त करने का एक लघु तरीका है।

+0

आपको बहुत बहुत धन्यवाद! :) – devdreamer

+0

ज़रूर, मदद करने में खुशी! –

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