반응형
R Standard evaluation 과 Tidy evaluation
R 에서 특정 데이터프레임(df) 를 특정 열(var1,var2) 로 정렬하기 위해서는 아래와 같이 할 수 있습니다.
df %>% arrange(var1, var2)
Standard evaluation
그런데 변수 이름이 동적인 경우, 즉 열 이름이 항상 같지 않고 코드 런타임에 결정되는 경우에는 표준 평가(Standard Evaluation, SE) 방법을 사용해야 합니다.
var1 <- "col1"
var2 <- "col2"
df %>% arrange(!!sym(var1), !!sym(var2))
Tidy evaluation
tidy evaluation 의 경우 rlang 의 {{}} (curly-curly) operation 을 사용하는 방법입니다. 그런데, 이 방법은 함수 안에서만 사용할 수 있습니다. 즉, tidy evaluation 도 동일한 기능을 수행하지만, 아래와 같이 함수 안에서만 사용할 수 있다는 제한점이 있습니다.
my_function <- function(df, var){
df %>% arrange({{var}})
}
반응형
'Tools > R' 카테고리의 다른 글
R 로 벤다이어그램을 그려보자 VennDiagram 패키지 (0) | 2024.06.21 |
---|---|
sparklyr - 변수 bucketing (기본 R과의 비교) (0) | 2024.06.14 |
R - 롱테일 분포의 히스토그램 그리기 (0) | 2024.05.08 |
rstudio server 에서 github copilot 사용하기 (0) | 2024.04.26 |
R 에서 폰트 사용하는 방법 (linux) (0) | 2024.04.04 |