reshape2가 설치되었나? 만약 설치되지 않았다면 install.packages("reshape2") > require(reshape2) 예에서는 R에 포함된 airquality 데이터를 사용할 것이다. > head(airquality) Ozone Solar.R Wind Temp Month Day 1 41 190 7.4 67 5 1 2 36 118 8.0 72 5 2 3 12 149 12.6 74 5 3 4 18 313 11.5 62 5 4 5 NA NA 14.3 56 5 5 6 28 NA 14.9 66 5 6 열 이름을 보면 Ozone, Solar.R, Wind, Temp, Month, Day 이 중에서 Month, Day는 인덱스이고 나머지는 공기질에 관한 데이터다. 데이터의 세부 항을 열을 기준으로 배치했다. 만약 해당하는 월/일에 측정치가 없으면 NA로 처리된다. 이제 wide-form을 long-form으로 고쳐보자. > aql <- melt(airquality) 멜팅을 시키면 > head(aql) variable value 1 Ozone 41 2 Ozone 36 3 Ozone 12 4 Ozone 18 5 Ozone NA 6 Ozone 28 Month, Day를 포함하여 전체 열이 다 값으로 고쳐진다. 이것은 우리가 원하는 결과가 아니다. 인덱스를 떼어서 처리하자. > aql2 <- melt(airquality, id.vars=c("Month","Day")) > head(aql2) Month Day variable value 1 5