Unite() 함수란?
*데이터프레임에서 두 개 이상의 열을 결합하여 새로운 열을 생성해주는 함수.
unite()함수는 하나의 열을 여러 열로 분리해주는 separate()의 기능과 반대로 여러 열을 하나의 열로 결합하는 기능을 가지고 있다.
Unite() 함수의 형식은 다음과 같다.
unite(data,col1,...,sep="?")
위 함수는 'data'라는 새로운 데이터프레임을 생성하며,
'data'에 'col1'~'coln' 이라는 열을 결합함을 의미한다. 여기서 'sep="?"'은 결합할 때 ?(사용자 자유) 라는구분자를 사용한다는 것이다.
Unite()을 통해 Table 속 열을 결합하기
Table의 이름은profighter_info이며, 프로파이터들의 정보를 나나낸다.
먼저, profighter_info라는 피벗테이블을 생성해준다.
나는 profighter_info 테이블에
이슬람 마카체프, 알렉산더 볼카노프스키, 맥스 할로웨이, 코리안 좀비, 이스라엘 아데산야
다섯 선수의 이름을 간소화한 별명과 생년, 승리,패배,무승부에 관한 정보를 담아보았다.
profighter_info <- data.frame(
fighter = c('Islam', 'Volka', 'Max', 'Zombie', 'Israel'),
birth = c('1991', '1988', '1991', '1987', '1989'),
win = c('25', '26', '25', '16', '75'),
lose = c('1', '3', '7', '5', '5'),
draw = c('0', '0', '0', '0', '1')
)
이후 출력을 해보면 다음과 같은 피벗 테이블이 생선된다.
> profighter_info
fighter birth win lose draw
1 Islam 1991 25 1 0
2 Volka 1988 26 3 0
3 Max 1991 25 7 0
4 Zombie 1987 16 5 0
5 Israel 1989 75 5 1
나는 여기서 unite() 함수를 이용하여 선수들의 기록을 승-패-무 순서로 'record'라는 열에 합칠 것이다. 또한 sep="-"을 사용하여 -라는
구분자를 이용할 것이다.
> profighter_info%>%
+ unite(record,win,lose,draw,sep="-")
해당 코드를 실행하면 다음과 같은 결과가 나온다.
fighter birth record
1 Islam 1991 25-1-0
2 Volka 1988 26-3-0
3 Max 1991 25-7-0
4 Zombie 1987 16-5-0
5 Israel 1989 75-5-1
unite()를 사용하여 3개의 열로 나눠져있던 선수들의 전적이 'record'라는 열로 묶어 한 눈에 볼 수 있도록 바꾸었다.
*만약 "-"가 아닌 공백을 구분자로 사용하고 싶다면 sep=" "을 사용하면 된다..!