R에서 열을 여러 열로 분할하는 방법(예제 포함)
두 가지 방법 중 하나를 사용하여 R에서 열을 여러 열로 분할할 수 있습니다.
방법 1: str_split_fixed() 사용
library (stringr) df[c(' col1 ', ' col2 ')] <- str_split_fixed(df$original_column, ' sep ', 2)
방법 2: Separate() 사용
library (dplyr) library (tidyr) df %>% separate(original_column, c(' col1 ', ' col2 '))
다음 예에서는 각 방법을 실제로 사용하는 방법을 보여줍니다.
방법 1: str_split_fixed() 사용
다음과 같은 데이터 프레임이 있다고 가정합니다.
#create data frame
df <- data. frame (player=c('John_Wall', 'Dirk_Nowitzki', 'Steve_Nash'),
dots=c(22, 29, 18),
assists=c(8, 4, 15))
#view data frame
df
player points assists
1 John_Wall 22 8
2 Dirk_Nowitzki 29 4
3 Steve_Nash 18 15
stringr 패키지의 str_split_fixed() 함수를 사용하여 ‘player’ 열을 ‘First’ 및 ‘Last’라는 두 개의 새로운 열로 분할할 수 있습니다.
library (stringr)
#split 'player' column using '_' as the separator
df[c(' First ', ' Last ')] <- str_split_fixed(df$player, ' _ ', 2)
#view updated data frame
df
player points assists First Last
1 John_Wall 22 8 John Wall
2 Dirk_Nowitzki 29 4 Dirk Nowitzki
3 Steve_Nash 18 15 Steve Nash
데이터 프레임 끝에 두 개의 새로운 열이 추가됩니다.
원하는 경우 열을 다시 정렬하고 원래 “플레이어” 열을 제거할 수 있습니다.
#rearrange columns and leave out original 'player' column
df_final <- df[c('First', 'Last', 'points', 'assists')]
#view updated data frame
df_final
First Last points assists
1 John Wall 22 8
2 Dirk Nowitzki 29 4
3 Steve Nash 18 15
방법 2: Separate() 사용
다음 코드는 Tidyr 패키지의 Separate() 함수를 사용하여 “플레이어” 열을 “첫 번째” 및 “마지막” 열로 분리하는 방법을 보여줍니다.
library (dplyr)
library (tidyr)
#create data frame
df <- data. frame (player=c('John_Wall', 'Dirk_Nowitzki', 'Steve_Nash'),
dots=c(22, 29, 18),
assists=c(8, 4, 15))
#separate 'player' column into 'First' and 'Last'
df %>% separate(player, c(' First ', ' Last '))
First Last points assists
1 John Wall 22 8
2 Dirk Nowitzki 29 4
3 Steve Nash 18 15
Separate() 함수는 영숫자가 아닌 값을 기준으로 문자열을 구분합니다.
예를 들어 이름과 성이 쉼표로 구분된 경우 Separate() 함수는 쉼표 위치에 따라 자동으로 분할됩니다.
library (dplyr)
library (tidyr)
#create data frame
df <- data. frame (player=c('John,Wall', 'Dirk,Nowitzki', 'Steve,Nash'),
dots=c(22, 29, 18),
assists=c(8, 4, 15))
#separate 'player' column into 'First' and 'Last'
df %>% separate(player, c(' First ', ' Last '))
First Last points assists
1 John Wall 22 8
2 Dirk Nowitzki 29 4
3 Steve Nash 18 15
Separate() 함수에 대한 전체 온라인 설명서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
R에서 두 개의 열을 하나로 결합하는 방법
R에서 열별로 데이터 프레임을 정렬하는 방법
R의 데이터 프레임에 열을 추가하는 방법