피벗테이블의 용도야 다양하겠지만
특히 두 가지 경우에 많이 쓰이는 것 같다.
1) 항목별 합산이 필요한데 countif와 sumif를 사용하기는 귀찮을 때
2) 한 항목은 행, 한 항목은 열로 삼아 펼쳐 보고 싶을 때
두 번째 것부터 먼저 알아보자.
먼저 x를 마련하고
reshape2 라이브러리를 불러온다.
피벗테이블 기능을 하는 함수는 dcast()다.
dcast(원 데이터, 행이 될 항목 ~ 열이 될 항목, 값으로 사용할 항목, 결과 형태) 와 같이 적어준다.
우리는 날짜를 행으로 삼고 상품을 열로 삼아 펼칠 것이므로
date ~ product
와 같이 써 주면 되겠다.
그리고 sales 열을 값으로 사용할 것이므로
value.var="sales"
로 입력한다.
원하는 결과를 얻었다.
잠깐, 총합이 없잖아?
총합을 출력하고 싶다면 [margins=] 옵션을 사용한다.
합이 아니라 개수를 알고 싶을 때는
sum 대신 length를 사용한다.
이제 첫 번째 경우로 돌아가 보자.
위와 같이 두 개의 열만 존재하는 경우는
product가 행이 되고 열로 펼칠 것은 별도로 존재하지 않는다.
존재하지 않을 때는 (.) 을 써 준다.
그러므로 다음과 같은 y에서는
product ~ .
과 같이 적어주면 되겠다.
반응형
'R' 카테고리의 다른 글
[R.아르] 객체 지우기 rm() / 특정 문자가 포함된 행 추출하기 grep() (0) | 2016.09.30 |
---|---|
[R.아르] R의 작업 디렉토리Working Directory 변경하기 (0) | 2016.09.28 |
[R.아르] 찾아바꾸기(2) lapply() / if() (0) | 2016.09.26 |
[R.아르] 찾아바꾸기 gsub() (1) | 2016.09.26 |
[R.아르] 원하는 순서로 데이터 정렬하기 order() (0) | 2016.09.26 |
[R. 아르] 리스트에 없는 항목만 추출하기 (차집합, setdiff()) (0) | 2016.09.23 |
[R. 아르] 내용 합치기 paste() (0) | 2016.09.22 |
[R.아르] 중복된 행 삭제하기 unique() / duplicated() (0) | 2016.09.12 |
[R.아르] 중복된 값의 개수 세기(엑셀의 countif) (1) | 2016.09.09 |
[R.아르] R에서 엑셀의 vlookup() 기능 사용하기 (0) | 2016.09.08 |
댓글