본문 바로가기

정리/데이터 분석

[R] dplyr 사용하여 초보에서 중급되기

728x90
R Notebook

dplyr 패키지 관련하여 간단한 정보를 공유드리고자 합니다.

%>%를 사용하여 초보에서 중급되기 위한 정보를 공유드립니다.

%>% 연산이란 chain operator 라고도 하는데

R에서 표현하자면 연달아서 계속 연산을 하는 방식으로 보시면 됩니다.

운영체제를 공부하신 분들이라면 pipe 로 생각하시면 됩니다.

정 이해가 안간다면 흔히 사이트 검색창에서 볼 수 있는 ’결과내 재검색’ 같은 기능으로 보시면 됩니다.

실제 사용 방법은 인터넷에 나와있는 예제를 참고하시면 될 거 같고

여기서는 . 과 {}  활용을 말씀드리려 합니다.

library(dplyr);

values<-rnorm(40, mean=0, sd = 1) %>%{. - min(.)} %>% { c(.)/max(.)}*100;
plot(values);

바로 위 소스에서 볼 수 있다 시피 .(쩜) 은 현재의 데이터를 의미합니다. 

 rnorm 을 수행 후 

첫번째 %>%  이후 생성된 데이터들 중 min 값을 찾고 전체 vector에서 element wise하게 빼기 연산을 해줍니다.

두번때 %>% 이후, 마찬가지로 전체 vector 중 max 값으로 전체 vector를 나눠주고 100을 곱해줍니다.

간단히 줄이면 0~ 100점으로  scaling 한 것이죠.

그런데 이 과정을 문제 없이 수행하려면 {} 중괄호로 영역을 잘 나눠줘야 합니다. 

(위 소스에서 없이 해보시면 에러가 팡팡.  (Error in .(.) : could not find function ".") )

사용하지 않아도 연산이 되는 경우는 있습니다.

후에 dplyr 관련하여 포스팅 내용이 있으면 내용에 따라 이곳을 수정하기도 하겠습니다.