Як використовувати attach() у r (з прикладами)


Ви можете використовувати функцію attach() у R, щоб зробити об’єкти кадру даних доступними без необхідності вводити назву кадру даних.

Ця функція використовує такий базовий синтаксис:

 attach(data)

У наведених нижче прикладах показано, як використовувати цю функцію в різних сценаріях із таким кадром даних:

 #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

Приклад 1: Використовуйте attach() для виконання обчислень

Зазвичай, якщо ми хочемо обчислити середнє значення, медіану, діапазон тощо. стовпця у фреймі даних, ми будемо використовувати такий синтаксис:

 #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

Однак, якщо ми використовуємо attach() , нам навіть не потрібно вводити ім’я кадру даних, щоб виконати ці обчислення:

 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

За допомогою attach() ми можемо безпосередньо посилатися на назву стовпця, і R дізнається, який кадр даних ми намагаємося використати.

Приклад 2. Використовуйте attach() для підгонки регресійних моделей

Зазвичай, якщо ми хочемо підігнати модель лінійної регресії в R, ми будемо використовувати такий синтаксис:

 #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

Однак, якщо ми використовуємо attach() , нам навіть не потрібно використовувати аргумент data у функції lm(), щоб відповідати регресійній моделі:

 #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

Зверніть увагу, що результати регресії абсолютно однакові.

Бонус: використовуйте detach() і search()

Ви можете використовувати функцію search() , щоб відобразити всі приєднані об’єкти в поточному середовищі R:

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

І ви можете використовувати функцію detach() , щоб від’єднати поточний від’єднаний об’єкт:

 #detach data frame
detach(df)

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як очистити середовище в R
Як очистити всі ділянки в RStudio
Як надрукувати кілька змінних в одному рядку в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *