Practice makes perfect

[R] reshape2 패키지 본문

빅데이터/R

[R] reshape2 패키지

kerpect 2020. 7. 3. 16:31
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