Come utilizzare attach() in r (con esempi)


È possibile utilizzare la funzione attach() in R per rendere accessibili gli oggetti del frame di dati senza dover digitare il nome del frame di dati.

Questa funzione utilizza la seguente sintassi di base:

 attach(data)

I seguenti esempi mostrano come utilizzare questa funzione in diversi scenari con il seguente frame di dati:

 #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

Esempio 1: utilizzare attach() per eseguire calcoli

Normalmente se vogliamo calcolare la media, la mediana, l’intervallo, ecc. di una colonna in un frame di dati, utilizzeremo la seguente sintassi:

 #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

Tuttavia, se utilizziamo attach() , non abbiamo nemmeno bisogno di inserire il nome del frame di dati per eseguire questi calcoli:

 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

Usando attach() , possiamo fare riferimento direttamente al nome della colonna e R sa quale frame di dati stiamo cercando di utilizzare.

Esempio 2: utilizzare attach() per adattare i modelli di regressione

Normalmente, se vogliamo adattare un modello di regressione lineare in R, utilizzeremo la seguente sintassi:

 #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

Tuttavia, se utilizziamo attach() , non abbiamo nemmeno bisogno di utilizzare l’argomento data nella funzione lm() per adattarci al modello di regressione:

 #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

Si noti che i risultati della regressione sono esattamente gli stessi.

Bonus: usa detach() e search()

È possibile utilizzare la funzione search() per visualizzare tutti gli oggetti allegati nell’ambiente R corrente:

 #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"  

E puoi usare la funzione detach() per staccare un oggetto attualmente scollegato:

 #detach data frame
detach(df)

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come cancellare l’ambiente in R
Come cancellare tutti i grafici in RStudio
Come stampare più variabili sulla stessa riga in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *