R 함수에 내장되어 있는 시계열 데이터 셋을 분리 해서 데이터 프레임으로 만든 다음 월별로 다르게 하려면 많은 데이터 핸들링이 필요 하다. 이런 사항은 현업 실무에서 빅데이터 셋준비 할때, 많이 사용한다.
AirPassengers 데이터 사전 탐색
library(tseries)
library(forecast)
library(dplyr)
library(tidyr)
library(stringr)
library(ggplot2)
data(AirPassengers)
AP <- AirPassengers
plot(AP,xlab="Date", ylab = "Passenger numbers (1000's)",main="Air Passenger numbers from 1949 to 1961")
역시 생각 하였던 바와 같이 시계열에 적합 한데이터 이다.
네이버 지식인 질문 사항 중에서
문제 1. R에서 제공하는 AirPassengers 데이터 셋은 1949년 ~1960년 사이의 항공 승객수를 월벼로 나타낸 것이다. Air Passengers 데이터 셋에서 1949, 1955,1960년의 월별 승객수 선그래프로 작성 하는데, 3개년도의 선의 색을 다르게 하시오.
pa1949 <- c(112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118)
pa1955 <- c(242, 233, 267, 269, 270, 315, 364, 347, 312, 274, 237, 278)
pa1960 <- c(417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390, 432)
months <- c("01월", "02월", "03월", "04월", "05월", "06월",
"07월", "08월", "09월", "10월", "11월", "12월")
df<-data.frame(pa1949, pa1955, pa1960)
df <- gather(df, key = "년도", value ="승객수")
df$년도<- gsub("pa","", df$년도)
df <- cbind(df, months) %>%
rename(월 = months)
df %>%
group_by(년도,월) %>%
ggplot(aes(월,승객수, group = 년도, colour = 년도))+
geom_line()
|
년도별 색 다르게 그래프 표현 |
데이터를 입력을 하였고, 그래프를 그릴수 있게 데이터를 gather 하였다. 아래는 해들리 위컴이 작성한 자료 이다.
변수를 숫자를 넣을 수 없어서, pa를 붙였고, 나중에 문자열 변경 gsub("변경전", "변경후", vector) 으로 변경 하여, 넣었다.
문제 2. R에서 제공하는 USAccDeaths 데이터 셋은 1973년 ~1978년 사이의 사고 사망자 숫자를 월별로 나타낸 것이다. USAccDeaths 데이터 셋에서 1973, 1975, 1977년의 월별 사망자 숫자를 선그래프로 작성 하는데, 3개년도의 선의 색을 다르게 하시오.
USA1973 <- USAccDeaths[1:12]
USA1975 <- USAccDeaths[25:36]
USA1977 <- USAccDeaths[49:60]
df1 <-data.frame(USA1973, USA1975, USA1977)
df1 <- gather(df1, key = "년도", value ="사망자수")
df1$년도<- gsub("USA","", df1$년도)
df1 <- cbind(df1, months) %>%
rename(월 = months)
df1 %>%
group_by(년도,월) %>%
ggplot(aes(월,사망자수, group = 년도, colour = 년도))+
geom_line()
|
년도별 색 다르게 데이터 표현 |
이것도 위의 것과 별로 다를게 없어 같은 형태로 하였다.