R에서 lm() 함수를 사용하여 데이터 프레임의 하위 집합을 사용하는 방법


R에서 회귀 모델을 맞추기 위해 lm() 함수를 사용할 때 subset 인수를 사용하면 데이터 프레임의 하위 집합만 사용할 수 있습니다.

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

이 특별한 예는 점을 반응 변수로 사용하고 군중시간을 예측 변수로 사용하는 회귀 모델에 해당합니다.

하위 집합 인수는 회귀 모델을 피팅할 때 변수가 10보다 큰 데이터 프레임의 행만 사용해야 함을 지정합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: R에서 lm()을 사용하여 데이터 프레임 하위 집합을 사용하는 방법

10명의 농구 선수가 플레이한 시간, 총 파울, 총 득점에 대한 정보를 포함하는 다음과 같은 데이터 프레임이 R에 있다고 가정합니다.

 #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 개 행이 사용되었음을 알 수 있습니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 단순 선형 회귀를 수행하는 방법
R에서 다중 선형 회귀를 수행하는 방법
R에서 잔차 플롯을 만드는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다