dataECDC <- read.csv("https://opendata.ecdc.europa.eu/covid19/casedistribution/csv", na.strings = "", fileEncoding = "UTF-8-BOM")
names(dataECDC)
##  [1] "dateRep"                                                   
##  [2] "day"                                                       
##  [3] "month"                                                     
##  [4] "year"                                                      
##  [5] "cases"                                                     
##  [6] "deaths"                                                    
##  [7] "countriesAndTerritories"                                   
##  [8] "geoId"                                                     
##  [9] "countryterritoryCode"                                      
## [10] "popData2019"                                               
## [11] "continentExp"                                              
## [12] "Cumulative_number_for_14_days_of_COVID.19_cases_per_100000"
#Covid19_UK_backup<-dataECDC%>%filter(str_detect(countriesAndTerritories, "Kingdom"))
Covid19_UK<- dataECDC%>%filter(countriesAndTerritories=="United_Kingdom")%>%
  dplyr::select(dateRep,popData2019,cases,deaths,Cumulative_number_for_14_days_of_COVID.19_cases_per_100000)%>%
  mutate(Date=dateRep,Cum_14days=round(Cumulative_number_for_14_days_of_COVID.19_cases_per_100000,3))%>%
  dplyr::select(Date,popData2019,cases,deaths,Cum_14days)%>%
  mutate(Days=c(length(Date):1),survivors=cases-deaths,incidence=c(0,diff(cases-deaths,lag=1)),CFR_100=round((deaths/popData2019)*1000*100000,2))%>%
  dplyr::select(Date,Days,cases,survivors,deaths,CFR_100,Cum_14days,incidence,popData2019)
require(ggplot2)

ggplot()+
  geom_line(data=Covid19_UK,aes(x=Days,y=cases),col="green")+
  geom_line(data=Covid19_UK,aes(x=Days,y=deaths),col="red")+
  geom_line(data=Covid19_UK,aes(x=Days,y=CFR_100),col="blue")+
  ylab("numbers")+labs("Cases, deaths and CFR trends")

plot(density(Covid19_UK$CFR_100))

N<- max(Covid19_UK$cases)

initial_state_values<- c(S=N-1,I=1,R=0)

parameters<- c(beta= 0.5,gamma=0.3)

times<- seq(0,length(Covid19_UK$Date),by=1)

SIR_model<- function(time,state,parameters){
  with(as.list(c(state,parameters)),{
       N<- S+I+R
       lambda<- beta*I/N
       dS<- -lambda*S
       dI<- lambda*S-gamma*I
       dR<- gamma*I
       return(list(c(dS,dI,dR)))
       })
}


output<- as.data.frame(ode(y=initial_state_values,
                           times=times,
                           func=SIR_model,
                           parms=parameters))

ggplot()+
  geom_line(data=output,aes(x=time,y=I))+
  xlab("Time(days)")+ylab("Infected")+labs("UK Prevalence of infection")

output_long<- melt(as.data.frame(output), id="time")
ggplot(data=output_long, aes(x=time, y=value,colour=variable,group=variable))+
  geom_line()+
  xlab("Time(days)")+ylab("proportions")+labs("UK Covid19 Prevalence proportion")