Dplyr을 사용하여 r의 데이터 프레임에 열을 추가하는 방법
dplyr 패키지의 mutate() 함수를 사용하여 R의 데이터 프레임에 하나 이상의 열을 추가할 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
방법 1: 데이터 프레임 끝에 열 추가
df %>%
mutate (new_col=c(1, 3, 3, 5, 4))
방법 2: 특정 열 앞에 열 추가
df %>%
mutate (new_col=c(1, 3, 3, 5, 4),
.before=col_name)
방법 3: 특정 열 뒤에 열 추가
df %>%
mutate (new_col=c(1, 3, 3, 5, 4),
.after=col_name)
방법 4: 다른 열을 기반으로 열 추가
df %>% mutate (new_col= if_else (.$col_name > 10, ' A ', ' B '))
다음 예에서는 다음 데이터 프레임에서 실제로 이 구문을 사용하는 방법을 보여줍니다.
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), points=c(12, 14, 19, 24, 24, 22, 30, 9), assists=c(4, 6, 6, 8, 3, 7, 8, 11)) #view data frame df team points assists 1 to 12 4 2 to 14 6 3 To 19 6 4 to 24 8 5 B 24 3 6 B 22 7 7 B 30 8 8 B 9 11
예시 1: 데이터 프레임 끝에 열 추가
다음 코드는 데이터 프레임 끝에 열을 추가하는 방법을 보여줍니다.
#add 'blocks' column at end of data frame
df <- df %>%
mutate (blocks=c(1, 3, 3, 2, 4, 3, 6, 2))
#view data frame
df
team points assists blocks
1 to 12 4 1
2 A 14 6 3
3 A 19 6 3
4 A 24 8 2
5 B 24 3 4
6 B 22 7 3
7 B 30 8 6
8 B 9 11 2
새 열의 각 값에 NA를 할당하면 빈 열을 추가할 수 있습니다.
#add empty column at end of data frame
df <- df %>%
mutate (blocks=NA)
#view data frame
df
team points assists blocks
1 A 12 4 NA
2 A 14 6 NA
3 A 19 6 NA
4 A 24 8 NA
5 B 24 3 NA
6 B 22 7 NA
7 B 30 8 NA
8 B 9 11 NA
예 2: 특정 열 앞에 열 추가
다음 코드는 데이터 프레임의 특정 열 앞에 열을 추가하는 방법을 보여줍니다.
#add 'blocks' column before 'points' column
df <- df %>%
mutate (blocks=c(1, 3, 3, 2, 4, 3, 6, 2),
.before=points)
#view data frame
df
team blocks points assists
1 A 1 12 4
2 to 3 14 6
3 A 3 19 6
4 A 2 24 8
5 B 4 24 3
6 B 3 22 7
7 B 6 30 8
8 B 2 9 11
예시 3: 특정 열 뒤에 열 추가
다음 코드는 데이터 프레임의 특정 열 뒤에 열을 추가하는 방법을 보여줍니다.
#add 'blocks' column after 'points' column
df <- df %>%
mutate (blocks=c(1, 3, 3, 2, 4, 3, 6, 2),
.after=points)
#view data frame
df
team points blocks assists
1 to 12 1 4
2 A 14 3 6
3 A 19 3 6
4 A 24 2 8
5 B 24 4 3
6 B 22 3 7
7 B 30 6 8
8 B 9 2 11
예 4: 다른 열을 기반으로 열 추가
다음 코드는 데이터 프레임의 다른 열을 기반으로 열을 추가하는 방법을 보여줍니다.
#add 'status' column whose values depend on value in 'points' column df <- df %>% mutate (status= if_else (.$points > 20, ' Good ', ' Bad ')) #view data frame df team points assists status 1 A 12 4 Bad 2 A 14 6 Bad 3 A 19 6 Bad 4 A 24 8 Good 5 B 24 3 Good 6 B 22 7 Good 7 B 30 8 Good 8 B 9 11 Bad
추가 리소스
다음 튜토리얼에서는 dplyr에서 다른 일반적인 기능을 수행하는 방법을 설명합니다.
dplyr을 사용하여 인덱스 위치에 따라 열 이름을 바꾸는 방법
dplyr을 사용하여 인덱스로 열을 선택하는 방법
dplyr을 사용하여 행을 삭제하는 방법