Dplyr: 열에 문자열이 포함된 경우 변수를 변경하는 방법
열에 특정 문자열이 포함된 경우 dplyr 에서 다음 기본 구문을 사용하여 변수를 변경할 수 있습니다.
library (dplyr) df %>% mutate_at(vars(contains(' starter ')), ~ (scale(.) %>% as. vector ))
이 특정 구문은 열 이름에 “starter”라는 문자열이 포함된 데이터 프레임의 각 변수에 scale() 함수를 적용합니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: 열에 문자열이 포함된 경우 변수를 변경합니다.
R에 다음과 같은 데이터 프레임이 있다고 가정합니다.
#create data frame df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F'), starter_points=c(22, 26, 25, 13, 15, 22), starter_assists=c(4, 5, 10, 14, 12, 10), bench_points=c(7, 7, 9, 14, 13, 10), bench_assists=c(2, 5, 5, 4, 9, 14)) #view data frame df team starter_points starter_assists bench_points bench_assists 1 to 22 4 7 2 2 B 26 5 7 5 3 C 25 10 9 5 4 D 13 14 14 4 5 E 15 12 13 9 6 F 22 10 10 14
다음 구문을 사용하여 열 이름에 “starter”라는 문자열이 포함된 데이터 프레임의 각 변수에 scale() 함수를 적용할 수 있습니다.
library (dplyr) #apply scale() function to each variable that contains 'starter' in the name df %>% mutate_at(vars(contains(' starter ')), ~ (scale(.) %>% as. vector )) team starter_points starter_assists bench_points bench_assists 1 A 0.2819668 -1.3180158 7 2 2 B 1.0338784 -1.0629159 7 5 3 C 0.8459005 0.2125832 9 5 4 D -1.4098342 1.2329825 14 4 5 E -1.0338784 0.7227828 13 9 6 F 0.2819668 0.2125832 10 14
이 구문을 사용하여 scale() 함수를 적용하여 “starter”를 포함하는 각 열의 값이 이제 평균 0, 표준 편차 1이 되도록 크기를 조정할 수 있었습니다.
다음 열이 수정되었습니다.
- starter_points
- 스타터_어시스트
다른 모든 열은 변경되지 않았습니다.
또한 이 구문을 사용하여 원하는 기능을 적용할 수 있습니다.
이전 예에서는 이름에 “starter”라는 문자열을 사용하여 각 열의 크기를 조정하도록 선택했습니다.
그러나 이름에 “starter”가 포함된 각 열의 값에 2를 곱하는 것처럼 더 간단한 작업을 수행할 수 있습니다.
library (dplyr) #multiply values by two for each variable that contains 'starter' in the name df %>% mutate_at(vars(contains(' starter ')), ~ (. * 2 )) team starter_points starter_assists bench_points bench_assists 1 A 44 8 7 2 2 B 52 10 7 5 3 C 50 20 9 5 4 D 26 28 14 4 5 E 30 24 13 9 6 F 44 20 10 14
starter_points 및 starter_assists 열의 값에 2를 곱한 반면 다른 모든 열은 변경되지 않았습니다.
추가 리소스
다음 튜토리얼에서는 dplyr에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
dplyr을 사용하여 행을 삭제하는 방법
dplyr을 사용하여 인덱스로 열을 선택하는 방법
dplyr을 사용하여 특정 문자열이 포함된 행을 필터링하는 방법