R'de lm () işleviyle veri çerçevesinin bir alt kümesi nasıl kullanılır?
R’de bir regresyon modelini sığdırmak için lm() işlevini kullanırken, bir veri çerçevesinin yalnızca bir alt kümesini kullanmak için alt küme bağımsız değişkenini kullanabilirsiniz:
fit <- lm(points ~ fouls + minutes, data=df, subset=(minutes> 10 ))
Bu özel örnek, yanıt değişkeni olarak noktaları ve tahmin değişkenleri olarak kalabalıkları ve dakikaları kullanan bir regresyon modeline karşılık gelir.
Alt küme bağımsız değişkeni, regresyon modeli uyarlanırken yalnızca dakika değişkeninin 10’dan büyük olduğu veri çerçevesindeki satırların kullanılması gerektiğini belirtir.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: R’de lm() ile bir veri çerçevesi alt kümesi nasıl kullanılır?
R’de oynanan dakikalar, toplam fauller ve 10 basketbolcunun attığı toplam puanlar hakkında bilgi içeren aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#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
Aşağıdaki çoklu doğrusal regresyon modeline uymak istediğimizi varsayalım:
puan = β 0 + β 1 (dakika) + β 2 (faul)
Ancak veri çerçevesinde yalnızca dakika değişkeninin 10’dan büyük olduğu satırları kullanmak istediğimizi varsayalım.
Bu regresyon modeline uymak için lm() işlevini alt küme argümanıyla birlikte kullanabiliriz:
#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
Regresyon modeline uymak için veri çerçevesinden kaç gözlemin gerçekten kullanıldığını görmek için nobs() işlevini kullanabiliriz:
#view number of observations used to fit model
nobs(fit)
[1] 8
Modele uyum sağlamak için veri çerçevesinin 8 satırının kullanıldığını görebiliriz.
Orijinal veri çerçevesine bakarsak, dakika değişkeni için tam olarak 8 satırın 10’dan büyük bir değere sahip olduğunu görebiliriz, bu da regresyon modeli uydurulurken yalnızca bu satırların kullanıldığı anlamına gelir.
Veri çerçevesini birden fazla koşula göre alt kümelemek için alt küme bağımsız değişkeninde & operatörünü de kullanabiliriz.
Örneğin, yalnızca veri çerçevesindeki dakikaların 10’dan büyük ve hataların 4’ten küçük olduğu satırları kullanarak bir regresyon modeline uyum sağlamak için aşağıdaki sözdizimini kullanabiliriz:
#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
Sonuçtan, bu özel modele uyacak şekilde veri çerçevesinin 7 satırının kullanıldığını görebiliriz.
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’de basit doğrusal regresyon nasıl gerçekleştirilir
R’de çoklu doğrusal regresyon nasıl gerçekleştirilir
R’de artık arsa nasıl oluşturulur