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