Practice makes perfect
[R] reshape2 패키지 본문
728x90
반응형
SMALL
reshape2 패키지
: 옆으로 컬럼이 많은 형태 ( Wide )를 세로로 긴 (Long) 형탤 변경해주고 반대로 세로로 긴 형태를 옆으로 넓게 바꿔주는 패키지입니다.
- 패키지 다운로드
install.packages("reshape2")
library(reshape2)
위의 데이터를 활용하여 reshape2를 알아보겠습니다.
① 예제
긴 형식 -> 넓은 형식으로 변경
dcast 함수를 이용한 넓은 형식 데이터 출력.
wide <- dcast(data, Customer_ID ~ Date, sum)
① - 1 예제
컬럼 이름 넣기
colnames(wide) <- c('id','day1','day2','day3','day4','day5','day6','day7')
wide
② - 1예제
넓은 형식을 긴 형식으로 변경
melt() 함수 이용 긴 형식으로 데이터 출력
long <- melt(wide, id = 'id')
long
② - 2 예제
컬럼명 수정
colnames(long) <- c("id", "Date", "Buy")
head(long)
- 3차원 배열 형식으로 변경
airquality의 데이터를 활용하여 예제를 이어가보겟습니다.
<airquality>
데이터 셋은 R 에서 기본으로 제공되는 데이터 셋으로 New York의 대기에 대한 질을 측정한 데이터 셋이다 전체 153개의 관측치와 6 개의 변수로 구성되어 있으며 변수명은 모두 대문자로 되어있습니다.
주요변수
Ozone(오존 수치), Solar.R(태양광) Wind(바람) Temp(온도)
Month(측정 월 5~9), Day(측정 날짜 1~31 일)
① 예제
- 월과 일 컬럼으로 나머지 4개 컬럼을 묶어서 긴 형식 변경
acast 함수를 이용하여 3차원 배열 형식으로 데이터 출력
air_melt <- melt(airquality, id = c("MONTH", "DAY"), na.rm = T)
head(air_melt)
- 출력값 -
MONTH DAY variable value
5 1 OZONE 41
5 2 OZONE 36
5 3 OZONE 12
5 4 OZONE 18
5 6 OZONE 28
5 7 OZONE 23
② 예제
월 단위 variable(대기과련 컬럼) 컬럼 합계
acast(air_melt, month~variable,sum)
- 출력값 -
OZONE SOLAR.R WIND TEMP
614 4895 360.3 2032
265 5705 308.0 2373
1537 6711 277.2 2601
1559 4812 272.6 2603
912 5023 305.4 2307
728x90
반응형
LIST
'빅데이터 > R' 카테고리의 다른 글
[R] 결측치(NA) 처리 (0) | 2020.07.06 |
---|---|
[R] 데이터 셋 보기 (0) | 2020.07.06 |
[R] 파이프 연산자(pipe) (0) | 2020.07.03 |
[R] dplyr 패키지 (2) | 2020.07.03 |
[R] plyr 패키지 (0) | 2020.07.02 |