PROGRAM 3

Author

SRUSHTI 1nt23is218

implement an r function to generate a line graph depicting the trend of time-series dataset ,with separate lines for each group,utilizing ggplot2’s group aesthetic.

step1:load necessary libraries

library(ggplot2)
library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
library(tidyr)

step2:load the built-in airpassengers dataset

data<- data.frame(
  Date= seq(as.Date("1949-01-01"),
                     by = "month",
                     length.out = length(AirPassengers)),
           Passengers= as.numeric(AirPassengers),
  Year= as.factor(format(seq(as.Date("1949-01-01"), by= "month",
  length.out = length(AirPassengers)),"%Y")))
head(data,n=20)
         Date Passengers Year
1  1949-01-01        112 1949
2  1949-02-01        118 1949
3  1949-03-01        132 1949
4  1949-04-01        129 1949
5  1949-05-01        121 1949
6  1949-06-01        135 1949
7  1949-07-01        148 1949
8  1949-08-01        148 1949
9  1949-09-01        136 1949
10 1949-10-01        119 1949
11 1949-11-01        104 1949
12 1949-12-01        118 1949
13 1950-01-01        115 1950
14 1950-02-01        126 1950
15 1950-03-01        141 1950
16 1950-04-01        135 1950
17 1950-05-01        125 1950
18 1950-06-01        149 1950
19 1950-07-01        170 1950
20 1950-08-01        170 1950
plot_time_series <- function(data, x_col , y_col , group_col , title ="air Passengers trends") {
  ggplot(data,aes_string(x=x_col,y=y_col,color=group_col,group=group_col))+  
    geom_line(size = 1.2)+
    geom_point( size = 2) +
    labs(title = title ,
         x = "Year",
         y = " number of passengers",
         color = "Year")+
    theme_minimal() + 
    theme(legend.position = "top")
}

plot_time_series(data,"Date","Passengers","Year","trend of airline passengers over time")
Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
ℹ Please use tidy evaluation idioms with `aes()`.
ℹ See also `vignette("ggplot2-in-packages")` for more information.
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.