2015-06-19 8 views
5

मैं काफी समझ नहीं कैसे एक पंक्ति में निम्न करने के लिए एक परिवर्तन के साथ सूत्र:आर के एल एम के स्वरूप()

data(attenu) 
x_temp = attenu$accel^(1/4) 
y_temp = log(attenu$dist) 
best_line = lm(y_temp ~ x_temp) 

ऊपर काम करता है के बाद से, मैंने सोचा कि मैं निम्नलिखित कर सकता है:

data(attenu) 
best_line = lm(log(attenu$dist) ~ (attenu$accel^(1/4))) 

लेकिन इस त्रुटि देता है:

Error in terms.formula(formula, data = data) : invalid power in formula 

वहाँ स्पष्ट रूप से कुछ के उपयोग के दौरान vari तब्दील मैं याद कर रहा हूँ है आर के सूत्र प्रारूप में ables। यह क्यों काम नहीं करता है?

+1

भविष्य में संदर्भ के लिए, आप भी उपयोग कर सकते हैं 'एल एम (लॉग (जिले) ~ मैं (एक्सेल^(1/4)), डेटा = attenu)' डाटासेट $ varname' 'होने से बचने के लिए क्या करना हर बार । – thelatemail

उत्तर

11

आप फ़ंक्शन I फ़ंक्शन ढूंढ रहे हैं ताकि ^ ऑपरेटर को सूत्र में अर्थात् अंकगणित के रूप में माना जाता है।

x <- runif(1:100) 
y <- x + rnorm(100,0, 3) 
lm(log(y) ~ I(x^(1/4)) 
+2

धन्यवाद! मैंने आज कुछ नया सीखा। – nfmcclure

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