Dplyr에서 across() 함수를 사용하는 방법(3가지 예)
R의 dplyr 패키지에 있는 across() 함수를 사용하여 여러 열에 변환을 적용할 수 있습니다.
이 기능을 사용하는 방법은 무수히 많지만 다음 방법은 몇 가지 일반적인 용도를 보여줍니다.
방법 1: 여러 열에 함수 적용
#multiply values in col1 and col2 by 2 df %>% mutate(across(c(col1, col2), function (x) x*2))
방법 2: 여러 열에 대한 요약 통계 계산
#calculate mean of col1 and col2 df %>% summarise(across(c(col1, col2), mean, na. rm = TRUE ))
방법 3: 여러 열에 대한 여러 요약 통계 계산
#calculate mean and standard deviation for col1 and col2 df %>% summarise(across(c(col1, col2), list(mean=mean, sd=sd), na. rm = TRUE ))
다음 예에서는 다음 데이터 프레임에서 각 메서드를 사용하는 방법을 보여줍니다.
#create data frame df <- data. frame (conf=c('East', 'East', 'East', 'West', 'West', 'West'), points=c(22, 25, 29, 13, 22, 30), rebounds=c(12, 10, 6, 6, 8, 11)) #view data frame df conf points rebounds 1 East 22 12 2 East 25 10 3 East 29 6 4 West 13 6 5 West 22 8 6 West 30 11
예시 1: 여러 열에 함수 적용
다음 코드는 across() 함수를 사용하여 포인트 및 리바운드 열의 값에 2를 곱하는 방법을 보여줍니다.
library (dplyr)
#multiply values in points and rebounds columns by 2
df %>%
mutate(across(c(points, rebounds), function (x) x*2))
conf points rebounds
1 East 44 24
2 East 50 20
3 East 58 12
4 West 26 12
5 West 44 16
6 West 60 22
예 2: 여러 열에 대한 요약 통계 계산
다음 코드는 across() 함수를 사용하여 포인트 및 리바운드 열의 평균 값을 계산하는 방법을 보여줍니다.
library (dplyr) #calculate mean value of points an rebounds columns df %>% summarise(across(c(points, rebounds), mean, na. rm = TRUE )) rebound points 1 23.5 8.833333
is.numeric 함수를 사용하여 데이터 프레임의 모든 숫자 열에 대한 요약 통계를 자동으로 계산할 수도 있습니다.
library (dplyr) #calculate mean value for every numeric column in data frame df %>% summarise(across(where(is. numeric ), mean, na. rm = TRUE )) rebound points 1 23.5 8.833333
예 3: 여러 열에 대한 여러 요약 통계 계산
다음 코드는 across() 함수를 사용하여 포인트 및 리바운드 열의 평균 및 표준 편차를 계산하는 방법을 보여줍니다.
library (dplyr) #calculate mean and standard deviation for points and rebounds columns df %>% summarise(across(c(points, rebounds), list(mean=mean, sd=sd), na. rm = TRUE )) points_mean points_sd rebounds_mean rebounds_sd 1 23.5 6.156298 8.833333 2.562551
참고 : across() 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 dplyr을 사용하여 다른 일반적인 기능을 수행하는 방법을 설명합니다.
dplyr을 사용하여 행을 삭제하는 방법
dplyr을 사용하여 행을 정렬하는 방법
dplyr을 사용하여 여러 조건으로 필터링하는 방법