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의 데이터 프레임에 열을 추가하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다