R में lm() फ़ंक्शन से p मान कैसे निकालें


आप R में lm() फ़ंक्शन से p-मान निकालने के लिए निम्न विधियों का उपयोग कर सकते हैं:

विधि 1: प्रतिगमन मॉडल से समग्र P मान निकालें

 #define function to extract overall p-value of model
overall_p <- function (my_model) {
    f <- summary(my_model)$fstatistic
    p <- pf(f[1],f[2],f[3],lower. tail =F)
    attributes(p) <- NULL
    return (p)
}

#extract overall p-value of model
overall_p(model)

विधि 2: प्रतिगमन गुणांक के लिए अलग-अलग P मान निकालें

 summary(model)$coefficients[,4]

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

उदाहरण: R में lm() से P मान निकालें

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

 #create data frame
df <- data. frame (rating=c(67, 75, 79, 85, 90, 96, 97),
                 points=c(8, 12, 16, 15, 22, 28, 24),
                 assists=c(4, 6, 6, 5, 3, 8, 7),
                 rebounds=c(1, 4, 3, 3, 2, 6, 7))

#fit multiple linear regression model
model <- lm(rating ~ points + assists + rebounds, data=df)

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

 #view model summary
summary(model)

Call:
lm(formula = rating ~ points + assists + rebounds, data = df)

Residuals:
      1 2 3 4 5 6 7 
-1.5902 -1.7181 0.2413 4.8597 -1.0201 -0.6082 -0.1644 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept) 66.4355 6.6932 9.926 0.00218 **
points 1.2152 0.2788 4.359 0.02232 * 
assists -2.5968 1.6263 -1.597 0.20860   
rebounds 2.8202 1.6118 1.750 0.17847   
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.193 on 3 degrees of freedom
Multiple R-squared: 0.9589, Adjusted R-squared: 0.9179 
F-statistic: 23.35 on 3 and 3 DF, p-value: 0.01396

परिणाम के बिल्कुल नीचे, हम देख सकते हैं कि प्रतिगमन मॉडल का समग्र पी-मान 0.01396 है।

यदि हम मॉडल से केवल यह पी-वैल्यू निकालना चाहते हैं, तो हम ऐसा करने के लिए एक कस्टम फ़ंक्शन परिभाषित कर सकते हैं:

 #define function to extract overall p-value of model
overall_p <- function (my_model) {
    f <- summary(my_model)$fstatistic
    p <- pf(f[1],f[2],f[3],lower. tail =F)
    attributes(p) <- NULL
    return (p)
}

#extract overall p-value of model
overall_p(model)

[1] 0.01395572

ध्यान दें कि फ़ंक्शन उपरोक्त मॉडल आउटपुट के समान ही पी-मान लौटाता है।

मॉडल से व्यक्तिगत प्रतिगमन गुणांक के लिए पी-मान निकालने के लिए, हम निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:

 #extract p-values for individual regression coefficients in model
summary(model)$coefficients[,4] 

(Intercept) points assists rebounds 
0.002175313 0.022315418 0.208600183 0.178471275

ध्यान दें कि यहां दिखाए गए पी-मान उपरोक्त प्रतिगमन आउटपुट में Pr(> |t|) कॉलम के अनुरूप हैं।

संबंधित: R में lm() फ़ंक्शन से R-स्क्वायर कैसे निकालें

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

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

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

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

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