Cara menggunakan subset bingkai data dengan fungsi lm() di r


Anda dapat menggunakan argumen subset untuk hanya menggunakan subset bingkai data saat menggunakan fungsi lm() agar sesuai dengan model regresi di R:

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

Contoh khusus ini sesuai dengan model regresi yang menggunakan poin sebagai variabel respons dan jumlah orang serta menit sebagai variabel prediktor.

Argumen subset menetapkan bahwa hanya baris dalam bingkai data yang variabel menitnya lebih besar dari 10 yang boleh digunakan saat menyesuaikan model regresi.

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Cara menggunakan subset bingkai data dengan lm() di R

Misalkan kita memiliki kerangka data berikut di R yang berisi informasi tentang menit bermain, total pelanggaran, dan total poin yang dicetak oleh 10 pemain bola basket:

 #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

Misalkan kita ingin menyesuaikan model regresi linier berganda berikut:

poin = β 0 + β 1 (menit) + β 2 (pelanggaran)

Namun, misalkan kita hanya ingin menggunakan baris dalam bingkai data yang variabel menitnya lebih besar dari 10.

Kita dapat menggunakan fungsi lm() dengan argumen subset agar sesuai dengan model regresi ini:

 #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

Kita dapat menggunakan fungsi nobs() untuk melihat berapa banyak observasi dari bingkai data yang sebenarnya digunakan agar sesuai dengan model regresi:

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

[1] 8

Kita dapat melihat bahwa 8 baris bingkai data digunakan agar sesuai dengan model.

Jika kita melihat pada kerangka data aslinya, kita dapat melihat bahwa tepat 8 baris memiliki nilai lebih besar dari 10 untuk variabel menit , artinya hanya baris tersebut yang digunakan saat menyesuaikan model regresi.

Kita juga dapat menggunakan operator & dalam argumen subset untuk membuat subset bingkai data berdasarkan beberapa kondisi.

Misalnya, kita dapat menggunakan sintaks berikut untuk menyesuaikan model regresi hanya dengan menggunakan baris dalam bingkai data yang menitnya lebih besar dari 10 dan kesalahannya kurang dari 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

Dari hasilnya kita dapat melihat bahwa 7 baris bingkai data digunakan untuk menyesuaikan model khusus ini.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:

Cara melakukan regresi linier sederhana di R
Cara melakukan regresi linier berganda di R
Cara membuat plot sisa di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *