Comment utiliser attach() dans R (avec exemples)



Vous pouvez utiliser la fonction attach() dans R pour rendre accessibles les objets des blocs de données sans avoir à saisir le nom du bloc de données.

Cette fonction utilise la syntaxe de base suivante :

attach(data)

Les exemples suivants montrent comment utiliser cette fonction dans différents scénarios avec le bloc de données suivant :

#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1    A     99      33       30
2    B     90      28       28
3    C     86      31       24
4    D     88      39       24
5    E     95      34       28

Exemple 1 : utilisez attach() pour effectuer des calculs

Normalement, si nous souhaitons calculer la moyenne, la médiane, la plage, etc. d’une colonne dans un bloc de données, nous utiliserons la syntaxe suivante :

#calculate mean of rebounds column
mean(df$rebounds)

[1] 26.8

#calculate median of rebounds column
median(df$rebounds)

[1] 28

#calculate range of rebounds column
range(df$rebounds)

[1] 24 30

Cependant, si nous utilisons attach() , nous n’avons même pas besoin de saisir le nom du bloc de données pour effectuer ces calculs :

attach(df)

#calculate mean of rebounds column
mean(rebounds)

[1] 26.8
#calculate median of rebounds column
median(rebounds)

[1] 28
#calculate range of rebounds column
range(rebounds)

[1] 24 30

En utilisant attach() , nous pouvons référencer directement le nom de la colonne et R sait quelle trame de données nous essayons d’utiliser.

Exemple 2 : utilisez attach() pour ajuster les modèles de régression

Normalement, si nous souhaitons adapter un modèle de régression linéaire dans R, nous utiliserons la syntaxe suivante :

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

#view coefficients of regression model
summary(fit)$coef

              Estimate Std. Error  t value   Pr(>|t|)
(Intercept) 18.7071984 13.2030474 1.416885 0.29222633
assists      0.5194553  0.2162095 2.402555 0.13821408
rebounds     2.0802529  0.3273034 6.355733 0.02387244

Cependant, si nous utilisons attach() , nous n’avons même pas besoin d’utiliser l’argument data dans la fonction lm() pour ajuster le modèle de régression :

#fit regression model
fit <- lm(points ~ assists + rebounds)

#view coefficients of regression model
summary(fit)$coef

              Estimate Std. Error  t value   Pr(>|t|)
(Intercept) 18.7071984 13.2030474 1.416885 0.29222633
assists      0.5194553  0.2162095 2.402555 0.13821408
rebounds     2.0802529  0.3273034 6.355733 0.02387244

Notez que les résultats de la régression sont exactement les mêmes.

Bonus : utilisez detach() et search()

Vous pouvez utiliser la fonction search() pour afficher tous les objets attachés dans l’environnement R actuel :

#show all attached objects
search()

 [1] ".GlobalEnv"        "df"                "package:stats"    
 [4] "package:graphics"  "package:grDevices" "package:utils"    
 [7] "package:datasets"  "package:methods"   "Autoloads"        
[10] "package:base"  

Et vous pouvez utiliser la fonction detach() pour détacher un objet actuellement détaché :

#detach data frame
detach(df)

Ressources additionnelles

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

Comment effacer l’environnement dans R
Comment effacer tous les tracés dans RStudio
Comment imprimer plusieurs variables sur la même ligne dans R

Ajouter un commentaire

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