본문 바로가기
R

R ) dplyr 패키지 살펴보기 ( filter, select, arrange, mutate, summarise, group_by, %>% (파이프연산자) ) in r

by C.Mond 2021. 9. 1.
728x90
728x90

dplyr 패키지 안에 있는 데이터를 쉽게 다룰 수 있게 도와주는 filter, select, arrange, mutate, summarise, group_by 함수 그리고 %>% (파이프연산자)에 대해 알아보겠습니다.

 

data는 R내장 data인 "iris" data를 사용하도록 하겠습니다.

먼저 파이프연산자 %>%를 보겠습니다.

파이프연산자 %>%는 함수의 첫번째 인자로 data를 전달하는 역할을 합니다.

 

예를 들어보겠습니다. 이전에 배웠던 head 함수를 갖고 예를 들어보겠습니다.

head() 함수의 ()안에 data를 넣어주어야 해당 data의 앞부분이 나오게 됩니다.

head() 함수의 인자중 가장 첫번째 인자로 data를 받게 됩니다.

이때 파이프연산자를 쓰면 head() 함수의 첫번째 인자인 data부분에 인자를 전달하게 됩니다.

예를 들어 보겠습니다.

 

library(dplyr)
1. head(iris)             #정상작동
2. irishead()             #비정상작동
3. iris%>%head()      #정상작동

위와 같이 작동을 하게 됩니다 파이프연산자를 쓰면 편리한 경우도 많으므로 알아두면 좋습니다.

이런식으로 계속 붙여서도 사용할 수 있습니다

 

 

 

먼저 "filter" 함수에 대해 보겠습니다.

filter 함수는 행을 추출하는 역할을 합니다.

filter 함수를 이용해 Species가 setosa인 행만 추출해 보겠습니다.

iris %>% filter(Species=="setosa")

위 그림처럼 data가 나타나는것을 볼 수 있습니다.

문자말고 여러조건을 걸어줄수도 있습니다.

>, < =>, =<, | , & 같은 연산자와 함께 사용할 수도 있습니다.

 

select 함수를 보겠습니다.

select 함수는 열을 선택하는 역할을 합니다.

select 함수를 이용해 Sepal.Length 열을 추출해 보겠습니다

iris %>% select(Sepal.Length)

위와 같이 data가 추출되는것을 볼 수 있습니다.

이를 filter 함수와 함께 사용할 수도 있습니다.

iris %>%
   filter(Species=="setosa") %>%
   select(Sepal.Length)

위와 같이 "setosa"를 가진 data에서 "Sepal.Length" data를 가져옵니다.

"-Sepal.Length"를 이용해 해당 열만 뺴고 추출할 수도 있습니다.

 

arrange 함수를 보겠습니다.

arrange 함수는 정렬하는 역할을 합니다.

"Sepal.Width"를 기준으로 오름차순으로 정렬해 보겠습니다.

iris %>%
   arrange(Sepal.Width)

해당 data가 오름차순으로 정렬된것을 볼 수 있습니다.

내림차순으로 정렬하고 싶다면

iris %>%
   arrange(desc(Sepal.Width))

를 입력하면 됩니다.

 

 

iris %>%
   arrange(Sepal.Width,Petal.Length)

위와 같이 2가지 조건에 대해서 정렬을 할 수도 있습니다.

 

 

나머지 함수는 다음 블로그에 포스팅 하도록하겠습니다.

728x90
728x90

댓글