Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment utiliser un sous-ensemble de trame de données avec la fonction lm() dans R



Vous pouvez utiliser l’argument subset pour utiliser uniquement un sous-ensemble d’un bloc de données lorsque vous utilisez la fonction lm() pour ajuster un modèle de régression dans R :

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

Cet exemple particulier correspond à un modèle de régression utilisant les points comme variable de réponse et les fautes et les minutes comme variables prédictives.

L’argument sous-ensemble spécifie que seules les lignes du bloc de données où la variable minutes est supérieure à 10 doivent être utilisées lors de l’ajustement du modèle de régression.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : Comment utiliser un sous-ensemble de trame de données avec lm() dans R

Supposons que nous ayons le bloc de données suivant dans R qui contient des informations sur les minutes jouées, le nombre total de fautes et le total de points marqués par 10 joueurs de basket-ball :

#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

Supposons que nous souhaitions adapter le modèle de régression linéaire multiple suivant :

points = β 0 + β 1 (minutes) + β 2 (fautes)

Cependant, supposons que nous souhaitions utiliser uniquement les lignes du bloc de données où la variable minutes est supérieure à 10.

Nous pouvons utiliser la fonction lm() avec l’argument subset pour ajuster ce modèle de régression :

#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 ***
---
Signif. 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

Nous pouvons utiliser la fonction nobs() pour voir combien d’observations du bloc de données ont été réellement utilisées pour ajuster le modèle de régression :

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

[1] 8

Nous pouvons voir que 8 lignes du bloc de données ont été utilisées pour ajuster le modèle.

Si nous examinons le bloc de données d’origine, nous pouvons voir qu’exactement 8 lignes avaient une valeur supérieure à 10 pour la variable minutes , ce qui signifie que seules ces lignes ont été utilisées lors de l’ajustement du modèle de régression.

Nous pouvons également utiliser l’opérateur & dans l’argument de sous-ensemble pour sous-ensembler le bloc de données selon plusieurs conditions.

Par exemple, nous pourrions utiliser la syntaxe suivante pour ajuster un modèle de régression en utilisant uniquement les lignes du bloc de données où les minutes sont supérieures à 10 et les fautes inférieures à 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

À partir du résultat, nous pouvons voir que 7 lignes du bloc de données ont été utilisées pour ajuster ce modèle particulier.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment effectuer une régression linéaire simple dans R
Comment effectuer une régression linéaire multiple dans R
Comment créer un tracé résiduel dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *