R में lm() फ़ंक्शन के साथ डेटा फ़्रेम के सबसेट का उपयोग कैसे करें


आर में एक प्रतिगमन मॉडल को फिट करने के लिए एलएम() फ़ंक्शन का उपयोग करते समय आप डेटा फ्रेम के केवल सबसेट का उपयोग करने के लिए सबसेट तर्क का उपयोग कर सकते हैं:

 fit <- lm(points ~ fouls + minutes, data=df, subset=(minutes> 10 ))

यह विशेष उदाहरण प्रतिक्रिया चर के रूप में बिंदुओं और भविष्यवक्ता चर के रूप में भीड़ और मिनटों का उपयोग करते हुए एक प्रतिगमन मॉडल से मेल खाता है।

सबसेट तर्क निर्दिष्ट करता है कि प्रतिगमन मॉडल को फिट करते समय डेटा फ़्रेम में केवल पंक्तियाँ जहां मिनट चर 10 से अधिक है, का उपयोग किया जाना चाहिए।

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।

उदाहरण: R में lm() के साथ डेटा फ़्रेम सबसेट का उपयोग कैसे करें

मान लीजिए कि हमारे पास आर में निम्नलिखित डेटा फ्रेम है जिसमें खेले गए मिनटों, कुल फाउल और 10 बास्केटबॉल खिलाड़ियों द्वारा बनाए गए कुल अंकों के बारे में जानकारी शामिल है:

 #create data frame
df <- data. frame (minutes=c(5, 10, 13, 14, 20, 22, 26, 34, 38, 40),
                 fouls=c(5, 5, 3, 4, 2, 1, 3, 2, 1, 1),
                 points=c(6, 8, 8, 7, 14, 10, 22, 24, 28, 30))

#view data frame
df

   minutes fouls points
1 5 5 6
2 10 5 8
3 13 3 8
4 14 4 7
5 20 2 14
6 22 1 10
7 26 3 22
8 34 2 24
9 38 1 28
10 40 1 30

मान लीजिए कि हम निम्नलिखित एकाधिक रैखिक प्रतिगमन मॉडल को फिट करना चाहते हैं:

अंक = β 0 + β 1 (मिनट) + β 2 (फ़ाउल)

हालाँकि, मान लीजिए कि हम डेटा फ्रेम में केवल उन पंक्तियों का उपयोग करना चाहते हैं जहाँ मिनट वेरिएबल 10 से अधिक है।

हम इस प्रतिगमन मॉडल को फिट करने के लिए सबसेट तर्क के साथ lm() फ़ंक्शन का उपयोग कर सकते हैं:

 #fit multiple linear regression model (only for rows where minutes>10)
fit <- lm(points ~ fouls + minutes, data=df, subset=(minutes> 10 ))

#view model summary
summary(fit)

Call:
lm(formula = points ~ fouls + minutes, data = df, subset = (minutes > 
    10))

Residuals:
      3 4 5 6 7 8 9 10 
 1.2824 -2.5882 2.2000 -1.9118 2.3588 -1.7176 0.1824 0.1941 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -11.8353 4.9696 -2.382 0.063046 .  
fouls 1.8765 1.0791 1.739 0.142536    
minutes 0.9941 0.1159 8.575 0.000356 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.255 on 5 degrees of freedom
Multiple R-squared: 0.9574, Adjusted R-squared: 0.9404 
F-statistic: 56.19 on 2 and 5 DF, p-value: 0.0003744

हम यह देखने के लिए nobs() फ़ंक्शन का उपयोग कर सकते हैं कि प्रतिगमन मॉडल को फिट करने के लिए डेटा फ्रेम से कितने अवलोकन वास्तव में उपयोग किए गए थे:

 #view number of observations used to fit model
nobs(fit)

[1] 8

हम देख सकते हैं कि मॉडल को फिट करने के लिए डेटा फ्रेम की 8 पंक्तियों का उपयोग किया गया था।

यदि हम मूल डेटा फ्रेम को देखते हैं, तो हम देख सकते हैं कि मिनट वेरिएबल के लिए ठीक 8 पंक्तियों का मान 10 से अधिक था, जिसका अर्थ है कि प्रतिगमन मॉडल को फिट करते समय केवल उन पंक्तियों का उपयोग किया गया था।

हम अनेक स्थितियों के आधार पर डेटा फ़्रेम को सब्सेट करने के लिए सबसेट तर्क में & ऑपरेटर का भी उपयोग कर सकते हैं।

उदाहरण के लिए, हम डेटा फ्रेम में केवल पंक्तियों का उपयोग करके एक प्रतिगमन मॉडल को फिट करने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं जहां मिनट 10 से अधिक हैं और दोष 4 से कम हैं:

 #fit multiple linear regression model (only where minutes>10 & fouls<4)
fit <- lm(points ~ fouls + minutes, data=df, subset=(minutes> 10 & fouls< 4 ))

#view number of observations used to fit model
nobs(fit)

[1] 7

परिणाम से हम देख सकते हैं कि इस विशेष मॉडल को फिट करने के लिए डेटा फ्रेम की 7 पंक्तियों का उपयोग किया गया था।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य कार्य कैसे करें:

आर में सरल रैखिक प्रतिगमन कैसे करें
आर में मल्टीपल लीनियर रिग्रेशन कैसे करें
आर में अवशिष्ट प्लॉट कैसे बनाएं

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *