37 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import (
 | 
						|
	"path"
 | 
						|
)
 | 
						|
 | 
						|
func rCode() string {
 | 
						|
	return `
 | 
						|
library(tidyverse)
 | 
						|
library(ggplot2)
 | 
						|
library(gridExtra)
 | 
						|
library(lubridate)
 | 
						|
 | 
						|
options(scipen=100000)
 | 
						|
 | 
						|
d <- read_csv('`+ path.Dir(confFile) + `/rows.csv')
 | 
						|
d <- pivot_longer(d, c('New Positives', 'Total Number of Tests Performed'))
 | 
						|
d <- transmute(d, date=mdy(d$'Test Date'), county=County, name=name, value=value)
 | 
						|
queens <- subset(d, county=='Queens')
 | 
						|
qrate <- pivot_wider(queens, names_from='name') %>% transmute(date=date,county=county,name='Positive Rate', value=ifelse(`+"`"+`New Positives`+"`"+`==0,0,`+"`"+`New Positives`+"`"+`/`+"`"+`Total Number of Tests Performed`+"`"+`))
 | 
						|
 | 
						|
totals <- group_by(d, date, county='New York', name) %>% summarize(value=sum(value)) %>% ungroup
 | 
						|
trate <- pivot_wider(totals, names_from='name') %>% transmute(date=date,county=county,name='Positive Rate', value=ifelse(`+"`"+`New Positives`+"`"+`==0,0,`+"`"+`New Positives`+"`"+`/`+"`"+`Total Number of Tests Performed`+"`"+`))
 | 
						|
 | 
						|
d2 <- rbind(queens, totals)
 | 
						|
 | 
						|
p1 <- ggplot(queens, aes(x=date, y=value, color=name))+geom_line()+scale_y_log10(n.breaks=6)+labs(y='',color='')+ggtitle('Queens')+theme(plot.title=element_text(hjust = 0.5))+theme(legend.position='bottom')
 | 
						|
#p2 <- ggplot(d, aes(x=date, y=value, color=name))+geom_line(data=queens)+stat_smooth(geom='line', linetype='dotted', data=queens, method='gam', se=FALSE)+geom_line(alpha=1/3, data=totals)+stat_smooth(geom='line', linetype='dotted', data=totals, method='gam', se=FALSE)+scale_y_log10(n.breaks=6)+labs(y='')+labs(color='')+ggtitle('New York')+theme(plot.title=element_text(hjust = 0.5))+theme(legend.position='bottom')
 | 
						|
p2 <- ggplot(totals, aes(x=date, y=value, color=name))+geom_line()+stat_smooth(geom='line', linetype='dotted', method='gam', se=FALSE)+scale_y_log10(n.breaks=6)+labs(y='')+labs(color='')+ggtitle('New York')+theme(plot.title=element_text(hjust = 0.5))+theme(legend.position='bottom')
 | 
						|
 | 
						|
pr1 <- ggplot(qrate, aes(x=date, y=value)) + geom_line()+geom_smooth(method='gam',formula=y~s(x, bs="cs"),se=FALSE)+scale_y_continuous(labels = scales::percent,)+labs(y='Positive Rate')+coord_cartesian(ylim=c(0,0.04))+ggtitle('Queens')+theme(plot.title=element_text(hjust = 0.5))
 | 
						|
pr2 <- ggplot(trate, aes(x=date, y=value)) + geom_line()+geom_smooth(method='gam',formula=y~s(x, bs="cs"),se=FALSE)+scale_y_continuous(labels = scales::percent)+labs(y='Positive Rate')+coord_cartesian(ylim=c(0,0.04))+ggtitle('New York')+theme(plot.title=element_text(hjust = 0.5))
 | 
						|
 | 
						|
p <- grid.arrange(p1,p2,pr1,pr2,ncol=2)
 | 
						|
`
 | 
						|
}
 |