[R] 15분 전력 사용량 요일별 히트맵 샘플 코드
library(tidyverse)
library(lubridate)
library(gplots)
library(RColorBrewer)
# 데이터 가정
data.frame(tt='2010-01-01 00:00:00', power.consumption=99) %>%
rbind(data.frame(tt='2010-01-01 00:15:00', power.consumption=100)) %>%
rbind(data.frame(tt='2010-01-01 00:30:00', power.consumption=130)) %>%
rbind(data.frame(tt='2010-01-02 00:00:00', power.consumption=100)) %>%
rbind(data.frame(tt='2010-01-02 00:15:00', power.consumption=110)) %>%
rbind(data.frame(tt='2010-01-02 00:30:00', power.consumption=120)) %>%
rbind(data.frame(tt='2010-01-08 00:00:00', power.consumption=80)) %>%
rbind(data.frame(tt='2010-01-08 00:15:00', power.consumption=105)) %>%
rbind(data.frame(tt='2010-01-08 00:30:00', power.consumption=120)) -> temp
#요일 시간대 평균으로 처리
temp %>%
mutate(wd=wday(tt,label=T,abbr=F)) %>%
mutate(hhmm=str_sub(tt,12,16)) %>%
group_by(wd,hhmm) %>%
summarize(power.consumption=mean(power.consumption)) %>%
pivot_wider(names_from = hhmm,
values_from = power.consumption,
values_fill =0) %>%
ungroup() %>%
column_to_rownames(var = "wd") %>%
as.matrix() %>%
heatmap.2(col=brewer.pal(9,"Blues"),
dend="none",trace="none",key=FALSE,
margins=c(10,7),
cexRow=1.5,cexCol=1.2,
colRow=c("green4","maroon"),
main="Title Heare")