Subscribe to R bloggers feed R bloggers
R news and tutorials contributed by hundreds of R bloggers
Updated: 1 hour 27 min ago

sliced Wasserstein estimation of mixtures

Tue, 11/28/2017 - 00:17

(This article was first published on R – Xi'an's Og, and kindly contributed to R-bloggers)

A paper by Soheil Kolouri and co-authors was arXived last week about using Wasserstein distance for inference on multivariate Gaussian mixtures. The basic concept is that the parameter is estimated by minimising the p-Wasserstein distance to the empirical distribution, smoothed by a Normal kernel. As the general Wasserstein distance is quite costly to compute, the approach relies on a sliced version, which means computing the Wasserstein distance between one-dimensional projections of the distributions. Optimising over the directions is an additional computational constraint.

“To fit a finite GMM to the observed data, one is required to answer the following questions: 1) how to estimate the number of mixture components needed to represent the data, and 2) how to estimate the parameters of the mixture components.”

The paper contains a most puzzling comment opposing maximum likelihood estimation to minimum Wasserstein distance estimation on the basis that the later would not suffer from multimodality. This sounds incorrect as the multimodality of a mixture model (likelihood) stems from the lack of identifiability of the parameters. If all permutations of these parameters induce exactly the same distribution, they all stand at the same distance from the data distribution, whatever the distance is. Furthermore, the above tartan-like picture clashes with the representation of the log-likelihood of a Normal mixture, as exemplified by the picture below based on a 150 sample with means 0 and 2, same unit variance, and weights 0.3 and 0.7, which shows a smooth if bimodal structure:And for the same dataset, my attempt at producing a Wasserstein “energy landscape” does return a multimodal structure (this is the surface of minus the logarithm of the 2-Wasserstein distance):“Jin et al. proved that with random initialization, the EM algorithm will converge to a bad critical point with high probability.”

This statement is most curious in that the “probability” in the assessment must depend on the choice of the random initialisation, hence on a sort of prior distribution that is not explicited in the paper. Which remains blissfully unaware of Bayesian approaches.

Another [minor mode] puzzling statement is that the p-Wasserstein distance is defined on the space of probability measures with finite p-th moment, which does not make much sense when what matters is rather the finiteness of the expectation of the distance d(X,Y) raised to the power p. A lot of the maths details either do not make sense or seem superfluous.

Filed under: Books, pictures, R, Statistics Tagged: arXiv, EM algorithm, finite mixtures, label switching, log-likelihood, multimodality, Wasserstein distance

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

To leave a comment for the author, please follow the link and comment on their blog: R – Xi'an's Og. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

A two-stage workflow for data science projects

Mon, 11/27/2017 - 22:27

(This article was first published on That’s so Random, and kindly contributed to R-bloggers)

If you are a data scientist who primarily works with R, chances are you had no formal training in software development. I certainly did not pick up many skills in that direction during my statistics masters. For years my workflow was basically load a dataset and hack away on it. In the best case my R-script came to some kind of conclusion or final data set, but usually it abruptly ended. Complex projects could result in a great number of scripts and data exports. Needless to say, reproducability was typically low and stress could run high when some delivery went wrong.

Picking up software skills

Colleagues pointed me to some customs in software design, such as creating functions and classes (and documenting them), writing unit tests, and packaging-up your work. I started to read about these concepts and was soon working my way through Hadley’s R packages to see how it was done in R. I came to a adopt a rigorous system of solely writing functions, and thoroughly documenting and unit testing them. No matter the nature of the project I was working on, I treated is as a package that should be published on CRAN. This slowed me down considerably, though. I needed increasing amounts of time to answer relatively simple questions. Maybe now I was over engineering, restricting myself in such a way I was losing productivity.

Data science product

In my opinion, the tension between efficiency and rigor in data analysis, is because the data scientist’s product usually is not software, but insight. This goal is not always served best by writing code that meets the highest software standards, because this can make an insight more expensive than necessary, timewise. A software engineer’s job is much more clear cut. His product is software, and the better his software, the better he does his job. However, when a data scientist is asked if she can deliver an exploratory analysis on a new data set, should she create a full software stack for it right away? I would say not. Of course clean, well documented scripts will lead to greater reproducibility of and confidence in her results. However, writing solely functions and classes and put a load of unit tests on them is overkill in this stage.

A two-stage workflow

I came to a workflow, with which I am quite happy. It has a hard split between the exploratory stage and the product stage of a project.

Exploratory stage

Starting an analysis, I want to get to first results as quickly as possible. R markdown files are great for this, in which you can take tons of notes about the quality of the data, assumptions tested, relations found, and things that are not yet clear. Creating functions in this stage can be already worthwhile. Functions to do transformations, create specific plots or test for specific relationships. I aim for creating functions that are as generic as is feasible from the start. It is my experience that data is often refreshed or adjusted during a project, even when this was not anticipated at the start of the project. Don’t hardcode names of dataframes and columns, but rather give them as arguments to functions. Optionally with the current names as their default values. These functions can be quickly lifted to the product stage. Functions are only written though, if they facilitate the exploration. If not, I am happy to analyse the data with ordinary R code. Typically, the exploratory stage is wrapped-up by a report in which the major insights and next-steps are described. More often than not, the exploratory stage is the only part of a project as it is concluded to take no further action on the topic researched. The quicker we can get to such a conclusion, the less resources are wasted.

Product stage

A product, to me, is everything designed to share insights, model predictions, and data with others. Whenever a product gets built, whether its a Shiny app, an export of model productions, or a daily updated report, the product stage is entered. In more ignorant days I used to gradually slide from exploratory stage into product stage. In the worst cases commenting out the parts of code that were not needed for building the product. This got increasingly messy of course, yielding non reproducable results and projects that grinded to a halt. Nowadays, as soon as a product gets built I completely start over. Here the software rigor kicks in. All code written in this part only serves the final product, no explorations or asides allowed. I use R’s package structure, writing functions that work together to create the product, including documentation and unit tests. When functions are used in the exploratory stage, many components of the product are already available at the start of this stage.

Further cycles

When during product stage it becomes evident that further research is needed, switch back to the exploratory code base. I think it is crucial to be very strict about this. No mess in the product repository! The product directory only contains the code needed for the product to work. When new insight requires the product to change, maybe updating a model or add an extra tab to a dashboard, adjust the product. Again only code necessary for the product to function allowed. Legacy code no longer needed should be removed, not be commented out. This workflow prevents a large set of scripts with a great number of models, many exported data sets, several versions of a Shiny app etc. The product repository always contains the latest version and nothing more.

I hope these hard-learned lessons might be to some value for some of you. I am very curious what others designed as their system. Please share it in the comments of this blog, on Twitter, or in you own blog and notify me.

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

To leave a comment for the author, please follow the link and comment on their blog: That’s so Random. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

voteogram Is Now On CRAN

Mon, 11/27/2017 - 21:38

(This article was first published on R – rud.is, and kindly contributed to R-bloggers)

Earlier this year, I made a package that riffed off of ProPublica’s really neat voting cartograms (maps) for the U.S. House and Senate. You can see one for disaster relief spending in the House and one for the ACA “Skinny Repeal” in the Senate.

We can replicate both here with the voteogram package (minus the interactivity, for now):

library(voteogram) library(ggplot2) hr_566 <- roll_call(critter="house", number=115, session=1, rcall=566) house_carto(hr_566) + coord_equal() + theme_voteogram()

sen_179 <- roll_call(critter="senate", number=115, session=1, rcall=179) senate_carto(sen_179) + coord_equal() + theme_voteogram()

I think folks might have more fun with the roll_call() objects though:

str(hr_566) ## List of 29 ## $ vote_id : chr "H_115_1_566" ## $ chamber : chr "House" ## $ year : int 2017 ## $ congress : chr "115" ## $ session : chr "1" ## $ roll_call : int 566 ## $ needed_to_pass : int 282 ## $ date_of_vote : chr "October 12, 2017" ## $ time_of_vote : chr "03:23 PM" ## $ result : chr "Passed" ## $ vote_type : chr "2/3 YEA-AND-NAY" ## $ question : chr "On Motion to Suspend the Rules and Agree" ## $ description : chr "Providing for the concurrence by the House in the Senate amendment to H.R. ## 2266, with an amendment" ## $ nyt_title : chr "On Motion to Suspend the Rules and Agree" ## $ total_yes : int 353 ## $ total_no : int 69 ## $ total_not_voting : int 11 ## $ gop_yes : int 164 ## $ gop_no : int 69 ## $ gop_not_voting : int 7 ## $ dem_yes : int 189 ## $ dem_no : int 0 ## $ dem_not_voting : int 5 ## $ ind_yes : int 0 ## $ ind_no : int 0 ## $ ind_not_voting : int 0 ## $ dem_majority_position: chr "Yes" ## $ gop_majority_position: chr "Yes" ## $ votes :Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 435 obs. of 11 variables: ## ..$ bioguide_id : chr [1:435] "A000374" "A000370" "A000055" "A000371" ... ## ..$ role_id : int [1:435] 274 294 224 427 268 131 388 320 590 206 ... ## ..$ member_name : chr [1:435] "Ralph Abraham" "Alma Adams" "Robert B. Aderholt" "Pete Aguilar" ... ## ..$ sort_name : chr [1:435] "Abraham" "Adams" "Aderholt" "Aguilar" ... ## ..$ party : chr [1:435] "R" "D" "R" "D" ... ## ..$ state_abbrev : chr [1:435] "LA" "NC" "AL" "CA" ... ## ..$ display_state_abbrev: chr [1:435] "La." "N.C." "Ala." "Calif." ... ## ..$ district : int [1:435] 5 12 4 31 12 3 2 19 36 2 ... ## ..$ position : chr [1:435] "Yes" "Yes" "Yes" "Yes" ... ## ..$ dw_nominate : num [1:435] 0.493 -0.462 0.36 -0.273 0.614 0.684 0.388 NA 0.716 NA ... ## ..$ pp_id : chr [1:435] "LA_5" "NC_12" "AL_4" "CA_31" ... ## - attr(*, "class")= chr [1:2] "pprc" "list"

as they hold tons of info on the votes.

I need to explore the following a bit more but there are some definite “patterns” in the way the 115th Senate has voted this year:

library(hrbrthemes) # I made a mistake in how I exposed these that I'll correct next month # but we need to munge it a bit anyway for this view fills <- voteogram:::vote_carto_fill names(fills) <- tolower(names(fills)) rcalls <- map(1:280, ~voteogram::roll_call(critter="senate", session=1, number=115, rcall=.x)) # save it off so you don't have to waste those calls again write_rds(rcalls, "2017-115-1-sen-280-roll-calls.rds") # do a bit of wrangling map_df(rcalls, ~{ mutate(.x$votes, vote_id = .x$vote_id) %>% arrange(party, position) %>% mutate(fill = tolower(sprintf("%s-%s", party, position))) %>% mutate(ques = .x$question) %>% mutate(x = 1:n()) }) -> votes_df # plot it ggplot(votes_df, aes(x=x, y=vote_id, fill=fill)) + geom_tile() + scale_x_discrete(expand=c(0,0)) + scale_y_discrete(expand=c(0,0)) + scale_fill_manual(name=NULL, values=fills) + labs(x=NULL, y=NULL, title="Senate Roll Call Votes", subtitle="2017 / 115th, Session 1, Votes 1-280", caption="Note free-Y scales") + facet_wrap(~ques, scales="free_y", ncol=3) + theme_ipsum_rc(grid="") + theme(axis.text = element_blank()) + theme(legend.position="right")

Hopefully I’ll get some time to dig into the differences and report on anything interesting. If you get to it before me definitely link to your blog post in a comment!

FIN

I still want to make an htmlwidgets version of the plots and also add the ability to get the index of roll call votes by Congress number and session to make it easier to iterate.

I’m also seriously considering creating different palettes. I used the ones from the source interactive site but am not 100% happy with them. Suggestions/PRs welcome.

Hopefully this package will make it easier for U.S. folks to track what’s going on in Congress and keep their representatives more accountable to the truth.

Everything’s on GitHub so please file issues, questions or PRs there.

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

To leave a comment for the author, please follow the link and comment on their blog: R – rud.is. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

Scatter plots in survey sampling

Mon, 11/27/2017 - 21:35

(This article was first published on Data Literacy - The blog of Andrés Gutiérrez, and kindly contributed to R-bloggers)

You can find this post in Blogdown format by clicking here

When it comes to analyzing survey data, you have to take into account the stochastic structure of the sample that was selected to obtain the data. Plots and graphics should not be an exception. The main aim of such studies is to try to infer about how the behavior of the outcomes of interest in the finite population.

For example, you may want to know how many people are in poverty. How about counting the poor people in the sample? I know, it is not a good idea. You have to use the sampling weights to estimate the whole number of poor people in the population. The total error paradigm follows the same approach when estimating any parameter of the finite population: you have to use the sampling weights in order to obtain unbiased estimators.

The idea behind this paradigm is the representative principle. If a person $k$ is included in the sample with a sampling weight $w_k$, she/he represents to himself and $w_k-1$ remaining people. That way, you obtain design-unbiasedness.

I am not a big fan of using descriptive sample statistics to analyze survey data because it can mask the reality, and the fact is that person $k$ is included in the sample, but he/she is not alone. Behind person $k$ there are other people, not included in the sample, and you have to realize that.

So, let’s apply that principle to scatter plots. I am using the Lucy population from the TeachingSampling package to recreate my idea. The following code is used to draw a $\pi PS$ sample.

library(TeachingSampling)
data(Lucy)
# The inclusion probability is proportional to Income
# The selected sample of size n=400
n <- 400
set.seed(123)
res <- S.piPS(n, Lucy$Income)
sam <- res[,1]
# The sample is stored in an data.sample
data.sample <- Lucy[sam, ]
attach(data.sample)

The sampling weights will be stored in the data.sample data in the column wk. They will be useful to reproduce our finite popultaion from the sample data.

# Pik.s is the inclusion probability of units in the sample
data.sample$Pik.s <- res[,2]
# wk is the sampling weight
data.sample$wk <- 1/data.sample$Pik.s

Now, let`s make a plot of the sampling data (with just 400 observations). I recall that this scenario is somehow misleading, because we want to know the behavior of the variables in the finite population.

library(ggplot2)
ggplot(data = data.sample, aes(x = Income, y = Employees)) +
geom_point()

The first option that comes to mind is to include the sampling weights in the points of the scatter plot. However, this approach is not appealing to me, because it is not straightforward from this plot to visuzlize the entire finite population.

ggplot(data = data.sample, aes(x = Income, y = Employees, size = wk)) +
geom_point()

In order to make the finite population scatter plot from the survey sample, I will replicate the rows of the data.sample object as many times as the sampling weight wk. I am using the mefa::rep function to achieve this goal. So, the newLucy object is an intent to mimic the finite population by using the selected sample.

library(mefa)
newLucy <- NULL

for(i in 1:nrow(data.sample)){
newLucy <- rbind(newLucy,
rep(data.sample[i, ],
round(data.sample$wk[i])))
}

newLucy <- as.data.frame(newLucy)

Now, with the newLucy population, I will make a scatter plot. Now, as I am replicating the rows of the sample data, I will add a jitter to avoid overplotting of the points in the scatter plot. This way, this plot (with 2396 observations) looks as if it would come from the finite population.

ggplot(data = newLucy, aes(x = Income, y = Employees)) +
geom_point() + geom_jitter(width = 15, height = 15)

var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

To leave a comment for the author, please follow the link and comment on their blog: Data Literacy - The blog of Andrés Gutiérrez. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

Image Processing and Manipulation with magick in R

Mon, 11/27/2017 - 16:00

(This article was first published on R Programming – DataScience+, and kindly contributed to R-bloggers)

‘ImageMagick’ is one of the famous open source libraries available for editing and manipulating Images of different types (Raster & Vector Images). magick is an R-package binding to ‘ImageMagick’ for Advanced Image-Processing in R, authored by Jeroen Ooms.

magick supports many common image formats like png, jpeg, tiff and manipulations like rotate, scale, crop, trim, blur, flip, annotate and much more.

This post is to help you get started with magick to process, edit and manipulate images in R that could be anything from just file format conversion (eg. png to jpeg) or annotating R graphics output.

magick is available on CRAN and also on ropensci’s github.

#installing magick package from CRAN install.packages('magick') #from Github ropensci library - note: requires RTools devtools::install_github('ropensci/magick')

Let us load the library and read our first image or images from the internet with image_read()

#Loading magick package library(magick) #reading a png image frink image frink <- image_read("https://jeroen.github.io/images/frink.png") #reading a jpg image ex-President Barack Obama from Wikipedia obama <- image_read('https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/President_Barack_Obama.jpg/800px-President_Barack_Obama.jpg')

Make sure you have got an updated version of curl package installed for the successfully reading image as mentioned above.

We can get basic details of the read images with image_info()

#image details image_info(obama) image_info(frink) image_info(obama) format width height colorspace filesize 1 JPEG 800 999 sRGB 151770 image_info(frink) format width height colorspace filesize 1 PNG 220 445 sRGB 73494

Communicating with RStudio, magick lets you print/display image in RStudio Viewer pane.

#displaying the image print(obama)

Whether you are a web developer or you are putting together a powerpoint deck, Image File Format Conversion is one of the operations that we would end up doing and this is literally an one-liner using magick‘s image_write().

#Rendering JPG image into SVG image_write(obama, path = 'obama.svg', format = 'svg')

Below is the PNG format of Obama Image that we read in from Wikipedia:

But you might be wondering, “Hey! This is just basic Image processing. Didn’t you tell this is advanced?” And Yes, Here comes the advanced stuff along with a good news that magick supports pipe %>% operator.

This is what we are going to do:

    1. Take the Original Obama Image and Apply Charcoal Effect to it
    2. Composite Frink Image along with it
    3. Annotate some text – considering Obama would’ve dealt with Confidential data – Let it be CONFIDENTIAL stamped on the image
    4. Finally, Rotate the image slightly and write/save it.
#Applying Charcoal effect to Obama's image #and compositing it with frink's image #and finally annotating it with a text image_charcoal(obama) %>% image_composite(frink) %>% image_annotate("CONFIDENTIAL", size = 50, color = "red", boxcolor = "pink", degrees = 30, location = "+100+100") %>% image_rotate(30) %>% image_write('obama_with_frink.png','png')

Gives this output:

How does the output image look? Artistic isn’t it ;)!

But this is not Data Scientists want to do every day, instead, we play with Plots and most of the time want to annotate the R Graphics output and here’s how you can do that with magick‘s image_annotate()

library(ggplot2) img <- image_graph(600, 400, res = 96) p <- ggplot(iris) + geom_point(aes(Sepal.Length,Petal.Length)) print(p) dev.off() img %>% image_annotate("CONFIDENTIAL", size = 50, color = "red", boxcolor = "pink", degrees = 30, location = "+100+100") %>% image_write('conf_ggplot.png','png')

Gives this output image:

This is nothing but a glimpse of what magick can do. Literally, there is a lot of magic left in magick. Try it out yourself and share your thoughts in comments. The code used here can be found on my github.

References:

    Related Post

    1. Analyzing the Bible and the Quran using Spark
    2. Predict Customer Churn – Logistic Regression, Decision Tree and Random Forest
    3. Find Your Best Customers with Customer Segmentation in Python
    4. Principal Component Analysis – Unsupervised Learning
    5. ARIMA models and Intervention Analysis
    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: R Programming – DataScience+. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    Why R?

    Mon, 11/27/2017 - 09:00

    (This article was first published on http://r-addict.com, and kindly contributed to R-bloggers)

    The first edition of Polish R Users Conferences called Why R? took place on 27-29 September
    at Warsaw University of Technology – Faculty of Mathematics and Information Science. The Polish R community is very strong. Dig in into the post to find out what topics did we cover and how the event was held. Pay attention to gifts we’ve prepared for invited speakers!

    Last Polish R conference was organized in 2014 in Poznań – since then many R meetups took place in Poland in 3 big cities. Find out the amount of people registering for meetups in the above graph (data taken from meetup.com). The head of the organizing committee of the 2014 conference also organized an European R Users Meeting in 2016 with almost 300 participants from various countries across Europe. This meeting was a trigger for 2 new R users groups in Poland. I wonder what events we will observe after 2017 edition?

    About the Why R? 2017 conference

    Conference Why R? from Kinema Indigo on Vimeo.

    Why R? 2017 conference aimed to be a meeting of R language enthusiasts both from the academia and the business. During this event you could increase your R knowledge, improve your analytic and programming skills and broaden connections with (new) R friends. We covered methodology latest research news, presented software development biggest achievements disclosures and had a great networking program.

    After the first round of the registration we noticed over 200 participants from over 20 cities.

    Schedule

    The following events were hosted at Why R? 2017 conference:

    • (28.09-29.09) 2 days of lectures divided into 6 themed sessions (26 presentations),
    • 10 lectures of invited speakers,
    • 6 lightning talks,
    • poster session during welcome paRty in the evening of the first conference day,
    • community session / discussion panel,
    • how to teach statistics discussion panel,
    • sponsors session,
    • (27.09) workshops’ day: 2 sessions featuring 9 various workshops each (18 in total),
    • (26.09) hackaton’s day.

    Accompanying events

    A day before a conference one could attend the Urban Sensors Warsaw Hackathon

    and few weeks before one could take a part in the visualizations contest of data from the registration form to win a ticket for the conference (rules are available at the conference blog). Winer visualization was created in Microsoft Power BI by Michał Makowski.

    Topics we have covered

    We had a chance to listen to 42 presentations (in total) where in a summary they covered:

    • statistical methodology,
    • visualization of data,
    • clinical trials,
    • R integration with other languages / environments,
    • bioinformatics,
    • software development
    • R in business,
    • R community in Poland,
    • educating R and R in education,
    • economics, finance and insurance,
    • reproducible calculations/research,
    • statistical machine learning and predictive models;
    • clustering and segmentation,
    • high performance calculations,
    • spatial statistics,
    • creating and visualizing maps,
    • R in social research,
    • biostatistics and epidemiology,
    • text analysis/mining,
    • calculations in the cloud,
    • image analysis and processing,
    • analysis of time series,
    • shiny applications and htmlwidgets,
    • and many others!

    Keynotes

    We appreciate the attendance of our invited guests: Tomasz Burzykowski, Ewa Szczurek, Wit Jakuczun, Artur Suchwałko, Małgorzata Bogdan, Michał Ramsza, Maciej Eder, Justyna Brzezińska, Anna Wróblewska and Przemysław Biecek.

    Invited talks were also divided (more or less) to thematic sessions: Bioinformatics & Clinical Trials, Business Applications, Education & Science, Text Mining and Data Visualizations.

    As part of the gratitude we have prepared special gifts (with a help of Klaudia from Pędzlenie). Each invited speaker got a hand-made painting with a place characteristic to Warsaw with an extra 3D print of the Palace of Culture and Science (thanks to MI2DataLab) that is the most recognizable building in Warsaw. All covered in a jar – unofficial symbol of our city.



    Organizing committee


    The biggest polish R enthusiasts’ groups were involved in Why R? 2017 event:

    Among the community partners registered at meetup.com were extra 5 community groups (Tableau, Data Science, Microsoft Azure, SQL Server), 3 statistical blogs which are recognized among data science community, 3 foundations and a polish podcast about data science.

    Main organizing committee was also very numerous

    I would like to express my indescribable gratitude for the core team of final preparation of the event (from the left): Aleksandra Dąbrowska-Grudziąż (MI2 group), Klaudia Korniluk (also involved as a graphic designer) and Alicja Gosiewska (MI2 group).

    Conference is always a kind place for networking and a special opportunity to keep up with the newest trends and achievements of the science. One can exchange experiences and comments with the people from the industry. We shouldn’t forget that this is also a huge organizational effort for all people involved in the strategic planning and organization. Preparations for the conference started 300 days before the event.

    Conference in numbers

    As a statistician I naturally like tables and numbers so I have prepared a summary of the conference in numbers.
    I can’t believe we’ve made so many GitHub commits.

    Gadgets

    Yes! A themed R travel pillow.



    Sponsors

    We would like to thank to all sponsors without whom the conference could not happen!



    Next year?

    We are planning a next conference in 2018! The main leaders of 2018 conference are Society of Wroclaw’s R Users (STWUR) . The event will take place in Wroclaw (2-4 July) and will be all in English as we would like to invite R users also from countries that are adjacent to Poland.

    For more information follow Facebook fanpage

    Graphics

    Whole event was decorated by materials created by Klaudia Korniluk from Pędzlenie. Klaudia also prepared brochures for the European R Users Meeting in 2016. There are rumors 2018 will be also covered by her paintings.

    You can also know her from Incredible Adventures of Beta and Bit that were translated into more than 10 languags (even Chinese).

    Materials

    See you next year!

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: http://r-addict.com. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    R/Finance 2018, Chicago June 1-2

    Mon, 11/27/2017 - 08:28

    (This article was first published on Revolutions, and kindly contributed to R-bloggers)

    The tenth annual R/Finance conference will be held in Chicago, June 1-2 2018. This is a fantastic conference for anyone working with R in the finance industry, or doing research around R in finance in the academic sector. This community-led, single-track conference always features a program of interesting talks in a convival atmosphere.

    If you'd like to contribute a 20-minute presentation or a 5-minute lightning talk, the call for papers is open though February 2, 2018. If you'd like to attend, registrations will open in March 2018.

    Microsoft is proud to be a continuing sponsor of R/Finance 2018. You can a summary of lat year's conference here, and watch recordings of the talks on Channel 9. For more on the 2018 conference, follow the link below. 

    R/Finance 2018: Overview

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: Revolutions. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    How to Format Numbers, Dates, and Time Using in D3 HTMLWidgets in R

    Mon, 11/27/2017 - 06:12

    (This article was first published on R – Displayr, and kindly contributed to R-bloggers)

    If you have ever spent any time investigating where the cool kids play in the data visualization world you will know it is all about D3. For most of us, D3 is a bit too hard to use directly. It is a JavaScript library, which means that to use it you need to be a half-decent programmer.

    Fortunately, we get to use it in all the cool htmlwidgets that have been built for R, such as plotly. However, a practical challenge when using these htmlwidgets is that they require you to know enough D3 in order to provide formatting instructions for numbers, dates, and times. This post provides a cheat sheet explaining how to do this.

    Formatting Numbers

    The general structure of a D3 number format is [,][.precision][type]. The square brackets are not part of the format but signify 3 distinct parts:

    1. The first character is an optional comma. This determines whether to separate groups of 3 digits (before the decimal place) by commas.
    2. Second, there is a dot followed by an integer (which I labeled as “precision” in the above). The integer usually sets the number of decimal places. There are exceptions, where the integer sets the number of significant digits.
    3. The final part is a single character code, with meanings and examples as described in the table below.
    Type Description Example: 1/17 with precision = 3 Example: 123456789 with precision = 1 and comma separation f Fixed number of decimal places 0.059 123,456,789.0 % Multiplied by 100 with % symbol and fixed number of decimal places 5.882% 12,345,678,900.0% e Scientific (exponential) notation. A coefficient with a fixed number of decimal places, multiplied by a power of 10. 5.882e-2 1.2e+8 s Metric (SI) units suffix with a fixed number of significant digits. 58.8m 100M

    There is a lot more to D3 number formats than I have just shown. If you want to know more about alignment, handling negative signs and bases then click here.

    Formatting Dates and Times

    “May 15 2017 3pm” could also be written as “15/5/17 15:00”. Many people and organizations have their own conventions for dates. It is frustrating not to be able to show a date in the format you want, which is where D3’s flexibility comes in.

    The general structure of a date or time format is a sequence of directives, each of which is a letter preceded by the percentage sign. Each directive specifies a unit of time. For example, “%Y %b %d” means 4 digit year followed by 3 letter month followed by 2 digit day, such as “2016 Dec 25”. A list of useful directives is shown below:

    • %a – abbreviated weekday name
    • %A – full weekday name
    • %b – abbreviated month name
    • %B – full month name
    • %d – zero-padded day of the month as a decimal number [01,31]
    • %H – hour (24-hour clock) as a decimal number [00,23]
    • %I – hour (12-hour clock) as a decimal number [01,12]
    • %m – month as a decimal number [01,12]
    • %M – minute as a decimal number [00,59]
    • %p – either AM or PM
    • %S – second as a decimal number [00,59]
    • %y – year without century as a decimal number [00,99]
    • %Y – year with century as a decimal number

    A more complex example would be “%m/%d/%y %I:%M %p”, which produces output such as “02/28/17 03:35 PM”. Note that here I have used the colon and forward slash as separators. In the previous example, the separator was the space.

    As with numbers, a lot more options are available for dates and times which are listed here.

    Conclusion

    D3 is a powerful and concise way to specify the format that you want. You can use D3 within the R charting packages plotly and flipChart.

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: R – Displayr. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    Tidy word vectors, take 2!

    Mon, 11/27/2017 - 01:00

    (This article was first published on Rstats on Julia Silge, and kindly contributed to R-bloggers)

    A few weeks ago, I wrote a post about finding word vectors using tidy data principles, based on an approach outlined by Chris Moody on the StitchFix tech blog. I’ve been pondering how to improve this approach, and whether it would be nice to wrap up some of these functions in a package, so here is an update!

    Like in my previous post, let’s download half a million posts from the Hacker News corpus using the bigrquery package.

    library(bigrquery) library(tidyverse) sql <- "#legacySQL SELECT stories.title AS title, stories.text AS text FROM [bigquery-public-data:hacker_news.full] AS stories WHERE stories.deleted IS NULL LIMIT 500000" hacker_news_raw <- query_exec(sql, project = project, max_pages = Inf)

    And then let’s clean the text and make a data frame containing only the text, plus an ID to identify each “document”, i.e., post.

    library(stringr) hacker_news_text <- hacker_news_raw %>% as_tibble() %>% mutate(title = na_if(title, ""), text = coalesce(title, text)) %>% select(-title) %>% mutate(text = str_replace_all(text, "'|"|/", "'"), ## weird encoding text = str_replace_all(text, "", " "), ## links text = str_replace_all(text, ">|<|&", " "), ## html yuck text = str_replace_all(text, "&#[:digit:]+;", " "), ## html yuck text = str_replace_all(text, "<[^>]*>", " "), ## mmmmm, more html yuck postID = row_number()) Sliding windows

    Starting from here is where my approach has changed a bit. Instead of using the unnest_tokens() function a total of three times to find the skipgrams, here I only use unnest_tokens() once, and then use a function slide_windows() to identify the skipgram windows.

    slide_windows <- function(tbl, doc_var, window_size) { # each word gets a skipgram (window_size words) starting on the first # e.g. skipgram 1 starts on word 1, skipgram 2 starts on word 2 each_total <- tbl %>% group_by(!!doc_var) %>% mutate(doc_total = n(), each_total = pmin(doc_total, window_size, na.rm = TRUE)) %>% pull(each_total) rle_each <- rle(each_total) counts <- rle_each[["lengths"]] counts[rle_each$values != window_size] <- 1 # each word get a skipgram window, starting on the first # account for documents shorter than window id_counts <- rep(rle_each$values, counts) window_id <- rep(seq_along(id_counts), id_counts) # within each skipgram, there are window_size many offsets indexer <- (seq_along(rle_each[["values"]]) - 1) %>% map2(rle_each[["values"]] - 1, ~ seq.int(.x, .x + .y)) %>% map2(counts, ~ rep(.x, .y)) %>% flatten_int() + window_id tbl[indexer, ] %>% bind_cols(data_frame(window_id)) %>% group_by(window_id) %>% filter(n_distinct(!!doc_var) == 1) %>% ungroup }

    This allows us to get to a tidy data frame with PMI values for each pair of words. This PMI value is what tells us whether words likely to occur together or unlikely to occur together. I also was smarter and put the filter() to remove very rare words before trying to identifying skipgrams. In this example, a word has to be used 20 times (overall, in the 500,000 posts) to be included.

    library(tidytext) library(widyr) tidy_pmi <- hacker_news_text %>% unnest_tokens(word, text) %>% add_count(word) %>% filter(n >= 20) %>% select(-n) %>% slide_windows(quo(postID), 8) %>% pairwise_pmi(word, window_id) tidy_pmi ## # A tibble: 30,853,734 x 3 ## item1 item2 pmi ## ## 1 best the 0.732 ## 2 part the 0.501 ## 3 is the 0.0365 ## 4 that the -0.145 ## 5 since the -0.0260 ## 6 it's the -0.364 ## 7 not the -0.262 ## 8 in the 0.184 ## 9 any the -0.643 ## 10 fonts the -0.140 ## # ... with 30,853,724 more rows

    This was the part of the blog posts where I hoped to wow everyone with a dramatic speed improvement, but it is a more modest one. Based on my benchmarking, this approach is 10% faster than the approach of my previous blog post. Identifying all the skipgram windows is a pretty expensive process. If you want a real-world estimate, it takes my computer about 7 minutes to complete this step.

    We can then find the word vectors from the PMI values using the new widely_svd() function in widyr. This is much faster compared to the other step.

    tidy_word_vectors <- tidy_pmi %>% widely_svd(item1, item2, pmi, nv = 256, maxit = 1000) Exploring results

    So hooray! We have found word vectors again, a bit faster, with clearer and easier-to-understand code. I do argue that this is a real benefit of this approach; it’s based on counting, dividing, and matrix decomposition and is thus much easier to understand and implement than anything with a neural network. And the results?

    nearest_synonyms <- function(df, token) { df %>% widely(~ . %*% (.[token, ]), sort = TRUE)(item1, dimension, value) %>% select(-item2) } tidy_word_vectors %>% nearest_synonyms("tokyo") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 tokyo 0.0197 ## 2 hong 0.0145 ## 3 london 0.0144 ## 4 kong 0.0141 ## 5 paris 0.0140 ## 6 cities 0.0101 ## 7 japan 0.0100 ## 8 singapore 0.00952 ## 9 los 0.00899 ## 10 san 0.00860 ## # ... with 27,257 more rows tidy_word_vectors %>% nearest_synonyms("python") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 python 0.0533 ## 2 ruby 0.0309 ## 3 java 0.0250 ## 4 php 0.0241 ## 5 c 0.0229 ## 6 perl 0.0222 ## 7 javascript 0.0203 ## 8 django 0.0202 ## 9 libraries 0.0184 ## 10 languages 0.0180 ## # ... with 27,257 more rows tidy_word_vectors %>% nearest_synonyms("bitcoin") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 bitcoin 0.0626 ## 2 currency 0.0328 ## 3 btc 0.0320 ## 4 coins 0.0300 ## 5 blockchain 0.0285 ## 6 bitcoins 0.0258 ## 7 mining 0.0252 ## 8 transactions 0.0241 ## 9 transaction 0.0235 ## 10 currencies 0.0228 ## # ... with 27,257 more rows tidy_word_vectors %>% nearest_synonyms("women") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 women 0.0648 ## 2 men 0.0508 ## 3 male 0.0345 ## 4 female 0.0319 ## 5 gender 0.0274 ## 6 sex 0.0256 ## 7 woman 0.0241 ## 8 sexual 0.0226 ## 9 males 0.0197 ## 10 girls 0.0195 ## # ... with 27,257 more rows

    I’m still learning about how word vectors are evaluated to be able to make some kind claim about how good word vectors like these are, for realistic datasets. One way that word vectors can be evaluated is by looking at how well the vectors perform on analogy tasks, like King - Man + Woman = Queen. What are some analogies we can find in this Hacker News corpus? Let’s write a little function that will find the answer to token1 - token2 + token 3 = ???.

    analogy <- function(df, token1, token2, token3) { df %>% widely(~ . %*% (.[token1, ] - .[token2, ] + .[token3, ]), sort = TRUE)(item1, dimension, value) %>% select(-item2) } ## operating systems tidy_word_vectors %>% analogy("osx", "apple", "microsoft") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 windows 0.0357 ## 2 microsoft 0.0281 ## 3 ms 0.0245 ## 4 visual 0.0195 ## 5 linux 0.0188 ## 6 studio 0.0178 ## 7 net 0.0171 ## 8 desktop 0.0164 ## 9 xp 0.0163 ## 10 office 0.0147 ## # ... with 27,257 more rows ## countries tidy_word_vectors %>% analogy("germany", "berlin", "paris") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 germany 0.0320 ## 2 france 0.0231 ## 3 europe 0.0213 ## 4 paris 0.0212 ## 5 uk 0.0200 ## 6 london 0.0178 ## 7 eu 0.0176 ## 8 spain 0.0175 ## 9 italy 0.0170 ## 10 countries 0.0163 ## # ... with 27,257 more rows ## THOUGHT LEADERS tidy_word_vectors %>% analogy("gates", "windows", "tesla") ## # A tibble: 27,267 x 2 ## item1 value ## ## 1 tesla 0.0419 ## 2 gates 0.0364 ## 3 musk 0.0348 ## 4 elon 0.0335 ## 5 steve 0.0247 ## 6 electric 0.0234 ## 7 car 0.0234 ## 8 ford 0.0228 ## 9 larry 0.0222 ## 10 bill 0.0219 ## # ... with 27,257 more rows

    Well, those last two are not perfect as the answers I’d identify as best are near the top but below the input tokens. This happens when I have trained vectors using GloVe too, though.

    Since we have done a singular value decomposition, we can use our word vectors to understand what principal components explain the most variation in the Hacker News corpus.

    tidy_word_vectors %>% filter(dimension <= 24) %>% group_by(dimension) %>% top_n(12, abs(value)) %>% ungroup %>% mutate(item1 = reorder(item1, value)) %>% group_by(dimension, item1) %>% arrange(desc(value)) %>% ungroup %>% mutate(item1 = factor(paste(item1, dimension, sep = "__"), levels = rev(paste(item1, dimension, sep = "__"))), dimension = factor(paste0("Dimension ", dimension), levels = paste0("Dimension ", as.factor(1:24)))) %>% ggplot(aes(item1, value, fill = dimension)) + geom_col(show.legend = FALSE) + facet_wrap(~dimension, scales = "free_y", ncol = 4) + scale_x_discrete(labels = function(x) gsub("__.+$", "", x)) + coord_flip() + labs(x = NULL, y = "Value", title = "First 24 principal components of the Hacker News corpus", subtitle = "Top words contributing to the components that explain the most variation")

    This is so great. The first two components contain mostly general purpose English words; remember that these are the vectors that explain the most variation in posts. Does a post contain a lot of these words or not? Then the third component and beyond start to contain more technical or topical words. Dimension 6 is about energy and markets, Dimension 11 is about geopolitics, Dimension 14 is about health discussions, Dimension 16 is about various kinds of people including kids/children/men/women/etc, and so on.

    The End

    I’m happy to have made a modest improvement in speed here, and to use some new functions from widyr that improve the intuition and understanding around this workflow. This approach allows practitioners to find word vectors with such low overhead (dependency and mental overhead), and I am excited to keep working on it.

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: Rstats on Julia Silge. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    Comparing plotly & ggplotly plot generation times

    Mon, 11/27/2017 - 01:00

    (This article was first published on R on The Jumping Rivers Blog, and kindly contributed to R-bloggers)




    The plotly package. A godsend for interactive documents, dashboard and presentations. For such documents there is no doubt that anyone would prefer a plot created in plotly rather than ggplot2. Why? Using plotly gives you neat and crucially interactive options at the top, where as ggplot2 objects are static. In an app we have been developing here at Jumping Rivers, we found ourselves asking the question would it be quicker to use plot_ly() or wrapping a ggplot2 object in ggplotly()? I found the results staggering.

    Prerequisites

    Throughout we will be using the packages: dplyr, tidyr, ggplot2, plotly and microbenchmark. The data in use is the birthdays dataset in the mosaicData package. This data sets contains the daily birth count in each state of the USA from 1969 – 1988. The packages can be installed in the usual way (remember you can install packages in parallel)

    install.packages(c("mosaicData", "dplyr", "tidyr", "ggplot2", "plotly", "microbenchmark")) library("mosaicData") library("dplyr") library("tidyr") library("ggplot2") library("plotly") library("microbenchmark") Analysis

    Let’s load and take a look at the data.

    data("Birthdays", package = "mosaicData") head(Birthdays) ## state year month day date wday births ## 1 AK 1969 1 1 1969-01-01 Wed 14 ## 2 AL 1969 1 1 1969-01-01 Wed 174 ## 3 AR 1969 1 1 1969-01-01 Wed 78 ## 4 AZ 1969 1 1 1969-01-01 Wed 84 ## 5 CA 1969 1 1 1969-01-01 Wed 824 ## 6 CO 1969 1 1 1969-01-01 Wed 100

    First, we’ll create a very simple scatter graph of the mean births in every year.

    meanb = Birthdays %>% group_by(year) %>% summarise(mean = mean(births))

    Wrapping this as a ggplot object inside ggplotly() we obtain this…

    ggplotly(ggplot(meanb) + geom_point(aes(y = mean, x = year, colour = year)))

    {"x":{"data":[{"x":[1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988],"y":[192.379516784263,199.760068460181,191.206117520794,174.833779443255,168.842413182331,170.128306949289,169.264251207729,170.054984473712,178.845794643336,179.128192745224,188.006285253828,193.825565198757,195.298415256514,197.978726833199,195.687939833468,196.803332261867,202.259145850121,202.024281493419,204.84614558152,209.674595521269],"text":["year: 1969
    mean: 192.4
    year: 1969","year: 1970
    mean: 199.8
    year: 1970","year: 1971
    mean: 191.2
    year: 1971","year: 1972
    mean: 174.8
    year: 1972","year: 1973
    mean: 168.8
    year: 1973","year: 1974
    mean: 170.1
    year: 1974","year: 1975
    mean: 169.3
    year: 1975","year: 1976
    mean: 170.1
    year: 1976","year: 1977
    mean: 178.8
    year: 1977","year: 1978
    mean: 179.1
    year: 1978","year: 1979
    mean: 188.0
    year: 1979","year: 1980
    mean: 193.8
    year: 1980","year: 1981
    mean: 195.3
    year: 1981","year: 1982
    mean: 198.0
    year: 1982","year: 1983
    mean: 195.7
    year: 1983","year: 1984
    mean: 196.8
    year: 1984","year: 1985
    mean: 202.3
    year: 1985","year: 1986
    mean: 202.0
    year: 1986","year: 1987
    mean: 204.8
    year: 1987","year: 1988
    mean: 209.7
    year: 1988"],"type":"scatter","mode":"markers","marker":{"autocolorscale":false,"color":["rgba(19,43,67,1)","rgba(22,49,75,1)","rgba(25,55,84,1)","rgba(29,62,92,1)","rgba(32,68,101,1)","rgba(35,75,110,1)","rgba(39,82,119,1)","rgba(42,89,128,1)","rgba(46,96,138,1)","rgba(49,103,147,1)","rgba(53,110,157,1)","rgba(56,117,166,1)","rgba(60,124,176,1)","rgba(63,131,186,1)","rgba(67,139,196,1)","rgba(71,146,206,1)","rgba(75,154,216,1)","rgba(78,162,226,1)","rgba(82,169,237,1)","rgba(86,177,247,1)"],"opacity":1,"size":5.66929133858268,"symbol":"circle","line":{"width":1.88976377952756,"color":["rgba(19,43,67,1)","rgba(22,49,75,1)","rgba(25,55,84,1)","rgba(29,62,92,1)","rgba(32,68,101,1)","rgba(35,75,110,1)","rgba(39,82,119,1)","rgba(42,89,128,1)","rgba(46,96,138,1)","rgba(49,103,147,1)","rgba(53,110,157,1)","rgba(56,117,166,1)","rgba(60,124,176,1)","rgba(63,131,186,1)","rgba(67,139,196,1)","rgba(71,146,206,1)","rgba(75,154,216,1)","rgba(78,162,226,1)","rgba(82,169,237,1)","rgba(86,177,247,1)"]}},"hoveron":"points","showlegend":false,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"x":[1970],"y":[170],"name":"99_12558db06f67453096d1fa70a9d28d73","type":"scatter","mode":"markers","opacity":0,"hoverinfo":"none","showlegend":false,"marker":{"color":[0,1],"colorscale":[[0,"#132B43"],[0.0526315789473684,"#16314B"],[0.105263157894737,"#193754"],[0.157894736842105,"#1D3E5C"],[0.210526315789474,"#204465"],[0.263157894736842,"#234B6E"],[0.315789473684211,"#275277"],[0.368421052631579,"#2A5980"],[0.421052631578947,"#2E608A"],[0.473684210526316,"#316793"],[0.526315789473684,"#356E9D"],[0.578947368421053,"#3875A6"],[0.631578947368421,"#3C7CB0"],[0.684210526315789,"#3F83BA"],[0.736842105263158,"#438BC4"],[0.789473684210526,"#4792CE"],[0.842105263157895,"#4B9AD8"],[0.894736842105263,"#4EA2E2"],[0.947368421052632,"#52A9ED"],[1,"#56B1F7"]],"colorbar":{"bgcolor":"rgba(255,255,255,1)","bordercolor":"transparent","borderwidth":1.88976377952756,"thickness":23.04,"title":"year","titlefont":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"tickmode":"array","ticktext":["1970","1975","1980","1985"],"tickvals":[0.0526315789473684,0.315789473684211,0.578947368421053,0.842105263157895],"tickfont":{"color":"rgba(0,0,0,1)","family":"","size":11.689497716895},"ticklen":2,"len":0.5}},"xaxis":"x","yaxis":"y","frame":null}],"layout":{"margin":{"t":24.7671232876712,"r":7.30593607305936,"b":38.7214611872146,"l":43.1050228310502},"plot_bgcolor":"rgba(235,235,235,1)","paper_bgcolor":"rgba(255,255,255,1)","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"xaxis":{"domain":[0,1],"type":"linear","autorange":false,"tickmode":"array","range":[1968.05,1988.95],"ticktext":["1970","1975","1980","1985"],"tickvals":[1970,1975,1980,1985],"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.65296803652968,"tickwidth":0.66417600664176,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(255,255,255,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"y","title":"year","titlefont":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"hoverformat":".2f"},"yaxis":{"domain":[0,1],"type":"linear","autorange":false,"tickmode":"array","range":[166.800804065384,211.716204638216],"ticktext":["170","180","190","200","210"],"tickvals":[170,180,190,200,210],"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.65296803652968,"tickwidth":0.66417600664176,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(255,255,255,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"x","title":"mean","titlefont":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"hoverformat":".2f"},"shapes":[{"type":"rect","fillcolor":null,"line":{"color":null,"width":0,"linetype":[]},"yref":"paper","xref":"paper","x0":0,"x1":1,"y0":0,"y1":1}],"showlegend":false,"legend":{"bgcolor":"rgba(255,255,255,1)","bordercolor":"transparent","borderwidth":1.88976377952756,"font":{"color":"rgba(0,0,0,1)","family":"","size":11.689497716895}},"hovermode":"closest"},"source":"A","attrs":{"1f7a7d516144":{"x":{},"y":{},"colour":{},"type":"ggplotly"}},"cur_data":"1f7a7d516144","visdat":{"1f7a7d516144":["function (y) ","x"]},"config":{"modeBarButtonsToAdd":[{"name":"Collaborate","icon":{"width":1000,"ascent":500,"descent":-50,"path":"M487 375c7-10 9-23 5-36l-79-259c-3-12-11-23-22-31-11-8-22-12-35-12l-263 0c-15 0-29 5-43 15-13 10-23 23-28 37-5 13-5 25-1 37 0 0 0 3 1 7 1 5 1 8 1 11 0 2 0 4-1 6 0 3-1 5-1 6 1 2 2 4 3 6 1 2 2 4 4 6 2 3 4 5 5 7 5 7 9 16 13 26 4 10 7 19 9 26 0 2 0 5 0 9-1 4-1 6 0 8 0 2 2 5 4 8 3 3 5 5 5 7 4 6 8 15 12 26 4 11 7 19 7 26 1 1 0 4 0 9-1 4-1 7 0 8 1 2 3 5 6 8 4 4 6 6 6 7 4 5 8 13 13 24 4 11 7 20 7 28 1 1 0 4 0 7-1 3-1 6-1 7 0 2 1 4 3 6 1 1 3 4 5 6 2 3 3 5 5 6 1 2 3 5 4 9 2 3 3 7 5 10 1 3 2 6 4 10 2 4 4 7 6 9 2 3 4 5 7 7 3 2 7 3 11 3 3 0 8 0 13-1l0-1c7 2 12 2 14 2l218 0c14 0 25-5 32-16 8-10 10-23 6-37l-79-259c-7-22-13-37-20-43-7-7-19-10-37-10l-248 0c-5 0-9-2-11-5-2-3-2-7 0-12 4-13 18-20 41-20l264 0c5 0 10 2 16 5 5 3 8 6 10 11l85 282c2 5 2 10 2 17 7-3 13-7 17-13z m-304 0c-1-3-1-5 0-7 1-1 3-2 6-2l174 0c2 0 4 1 7 2 2 2 4 4 5 7l6 18c0 3 0 5-1 7-1 1-3 2-6 2l-173 0c-3 0-5-1-8-2-2-2-4-4-4-7z m-24-73c-1-3-1-5 0-7 2-2 3-2 6-2l174 0c2 0 5 0 7 2 3 2 4 4 5 7l6 18c1 2 0 5-1 6-1 2-3 3-5 3l-174 0c-3 0-5-1-7-3-3-1-4-4-5-6z"},"click":"function(gd) { \n // is this being viewed in RStudio?\n if (location.search == '?viewer_pane=1') {\n alert('To learn about plotly for collaboration, visit:\\n https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html');\n } else {\n window.open('https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html', '_blank');\n }\n }"}],"cloud":false},"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1}},"base_url":"https://plot.ly"},"evals":["config.modeBarButtonsToAdd.0.click"],"jsHooks":{"render":[{"code":"function(el, x) { var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set({\"on\":\"plotly_click\",\"persistent\":false,\"dynamic\":false,\"selectize\":false,\"opacityDim\":0.2,\"selected\":{\"opacity\":1}}); }","data":null}]}} Whilst using plot_ly() give us this…

    plot_ly(data = meanb, y = ~mean, x = ~year, color = ~year, type = "scatter")

    {"x":{"visdat":{"1f7a43e069a9":["function () ","plotlyVisDat"]},"cur_data":"1f7a43e069a9","attrs":{"1f7a43e069a9":{"y":{},"x":{},"color":{},"alpha":1,"sizes":[10,100],"type":"scatter"}},"layout":{"margin":{"b":40,"l":60,"t":25,"r":10},"xaxis":{"domain":[0,1],"title":"year"},"yaxis":{"domain":[0,1],"title":"mean"},"hovermode":"closest","showlegend":false,"legend":{"y":0.5,"yanchor":"top"}},"source":"A","config":{"modeBarButtonsToAdd":[{"name":"Collaborate","icon":{"width":1000,"ascent":500,"descent":-50,"path":"M487 375c7-10 9-23 5-36l-79-259c-3-12-11-23-22-31-11-8-22-12-35-12l-263 0c-15 0-29 5-43 15-13 10-23 23-28 37-5 13-5 25-1 37 0 0 0 3 1 7 1 5 1 8 1 11 0 2 0 4-1 6 0 3-1 5-1 6 1 2 2 4 3 6 1 2 2 4 4 6 2 3 4 5 5 7 5 7 9 16 13 26 4 10 7 19 9 26 0 2 0 5 0 9-1 4-1 6 0 8 0 2 2 5 4 8 3 3 5 5 5 7 4 6 8 15 12 26 4 11 7 19 7 26 1 1 0 4 0 9-1 4-1 7 0 8 1 2 3 5 6 8 4 4 6 6 6 7 4 5 8 13 13 24 4 11 7 20 7 28 1 1 0 4 0 7-1 3-1 6-1 7 0 2 1 4 3 6 1 1 3 4 5 6 2 3 3 5 5 6 1 2 3 5 4 9 2 3 3 7 5 10 1 3 2 6 4 10 2 4 4 7 6 9 2 3 4 5 7 7 3 2 7 3 11 3 3 0 8 0 13-1l0-1c7 2 12 2 14 2l218 0c14 0 25-5 32-16 8-10 10-23 6-37l-79-259c-7-22-13-37-20-43-7-7-19-10-37-10l-248 0c-5 0-9-2-11-5-2-3-2-7 0-12 4-13 18-20 41-20l264 0c5 0 10 2 16 5 5 3 8 6 10 11l85 282c2 5 2 10 2 17 7-3 13-7 17-13z m-304 0c-1-3-1-5 0-7 1-1 3-2 6-2l174 0c2 0 4 1 7 2 2 2 4 4 5 7l6 18c0 3 0 5-1 7-1 1-3 2-6 2l-173 0c-3 0-5-1-8-2-2-2-4-4-4-7z m-24-73c-1-3-1-5 0-7 2-2 3-2 6-2l174 0c2 0 5 0 7 2 3 2 4 4 5 7l6 18c1 2 0 5-1 6-1 2-3 3-5 3l-174 0c-3 0-5-1-7-3-3-1-4-4-5-6z"},"click":"function(gd) { \n // is this being viewed in RStudio?\n if (location.search == '?viewer_pane=1') {\n alert('To learn about plotly for collaboration, visit:\\n https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html');\n } else {\n window.open('https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html', '_blank');\n }\n }"}],"cloud":false},"data":[{"y":[192.379516784263,199.760068460181,191.206117520794,174.833779443255,168.842413182331,170.128306949289,169.264251207729,170.054984473712,178.845794643336,179.128192745224,188.006285253828,193.825565198757,195.298415256514,197.978726833199,195.687939833468,196.803332261867,202.259145850121,202.024281493419,204.84614558152,209.674595521269],"x":[1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988],"type":"scatter","mode":"markers","marker":{"colorbar":{"title":"year","ticklen":2},"cmin":1969,"cmax":1988,"colorscale":[["0","rgba(68,1,84,1)"],["0.0416666666666587","rgba(70,19,97,1)"],["0.0833333333333293","rgba(72,32,111,1)"],["0.125","rgba(71,45,122,1)"],["0.166666666666659","rgba(68,58,128,1)"],["0.208333333333329","rgba(64,70,135,1)"],["0.25","rgba(60,82,138,1)"],["0.291666666666671","rgba(56,93,140,1)"],["0.333333333333329","rgba(49,104,142,1)"],["0.375","rgba(46,114,142,1)"],["0.416666666666671","rgba(42,123,142,1)"],["0.458333333333341","rgba(38,133,141,1)"],["0.5","rgba(37,144,140,1)"],["0.541666666666671","rgba(33,154,138,1)"],["0.583333333333329","rgba(39,164,133,1)"],["0.625","rgba(47,174,127,1)"],["0.666666666666659","rgba(53,183,121,1)"],["0.708333333333341","rgba(79,191,110,1)"],["0.75","rgba(98,199,98,1)"],["0.791666666666671","rgba(119,207,85,1)"],["0.833333333333329","rgba(147,214,70,1)"],["0.875","rgba(172,220,52,1)"],["0.916666666666671","rgba(199,225,42,1)"],["0.958333333333329","rgba(226,228,40,1)"],["1","rgba(253,231,37,1)"]],"showscale":false,"color":[1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988],"line":{"color":"transparent"}},"xaxis":"x","yaxis":"y","frame":null},{"x":[1969,1988],"y":[168.842413182331,209.674595521269],"type":"scatter","mode":"markers","opacity":0,"hoverinfo":"none","showlegend":false,"marker":{"colorbar":{"title":"year","ticklen":2,"len":0.5,"y":1,"lenmode":"fraction","yanchor":"top"},"cmin":1969,"cmax":1988,"colorscale":[["0","rgba(68,1,84,1)"],["0.0416666666666587","rgba(70,19,97,1)"],["0.0833333333333293","rgba(72,32,111,1)"],["0.125","rgba(71,45,122,1)"],["0.166666666666659","rgba(68,58,128,1)"],["0.208333333333329","rgba(64,70,135,1)"],["0.25","rgba(60,82,138,1)"],["0.291666666666671","rgba(56,93,140,1)"],["0.333333333333329","rgba(49,104,142,1)"],["0.375","rgba(46,114,142,1)"],["0.416666666666671","rgba(42,123,142,1)"],["0.458333333333341","rgba(38,133,141,1)"],["0.5","rgba(37,144,140,1)"],["0.541666666666671","rgba(33,154,138,1)"],["0.583333333333329","rgba(39,164,133,1)"],["0.625","rgba(47,174,127,1)"],["0.666666666666659","rgba(53,183,121,1)"],["0.708333333333341","rgba(79,191,110,1)"],["0.75","rgba(98,199,98,1)"],["0.791666666666671","rgba(119,207,85,1)"],["0.833333333333329","rgba(147,214,70,1)"],["0.875","rgba(172,220,52,1)"],["0.916666666666671","rgba(199,225,42,1)"],["0.958333333333329","rgba(226,228,40,1)"],["1","rgba(253,231,37,1)"]],"showscale":true,"color":[1969,1988]},"xaxis":"x","yaxis":"y","frame":null}],"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1}},"base_url":"https://plot.ly"},"evals":["config.modeBarButtonsToAdd.0.click"],"jsHooks":{"render":[{"code":"function(el, x) { var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set({\"on\":\"plotly_click\",\"persistent\":false,\"dynamic\":false,\"selectize\":false,\"opacityDim\":0.2,\"selected\":{\"opacity\":1}}); }","data":null}]}}

    Both graphs are, identical, bar styling, yes?

    Now let’s use microbenchmark to see how their timings compare (for an overview on timing R functions, see our previous blog post).

    time = microbenchmark::microbenchmark( ggplotly = ggplotly(ggplot(meanb) + geom_point(aes(y = mean, x = year, colour = year))), plotly = plot_ly(data = meanb, y = ~mean, x = ~year, color = ~year, type = "scatter"), times = 100, unit = "s") time ## Unit: seconds ## expr min lq mean median uq max neval cld ## ggplotly 0.050139 0.052229 0.070750 0.054760 0.056785 1.56652 100 b ## plotly 0.002475 0.002527 0.003017 0.002571 0.002674 0.03061 100 a autoplot(time)

    Now I thought nesting a ggplot object within ggplotly() would be slower than using plot_ly(), but I didn’t think it would be this slow. On average ggplotly() is approximately 23 times slower than plot_ly(). 23!

    Let’s take it up a notch. There we were plotting only 20 points, what about if we plot over 20,000? Here we will plot the min, mean and max births on each day.

    date = Birthdays %>% group_by(date) %>% summarise(mean = mean(births), min = min(births), max = max(births)) %>% gather(birth_stat, value, -date)

    Wrapping this a ggplot2 object inside ggplotly() we obtain this graph…

    ggplotly(ggplot(date) + geom_point(aes(y = value, x = date, colour = birth_stat)))

    {"x":{"data":[{"x":[425520000,406771200,494294400,6220800,162864000,63936000,582768000,176860800,474336000,350697600,270259200,-30153600,207532800,74044800,257731200,185760000,197683200,89683200,14860800,332985600,429840000,152668800,358300800,290390400,389664000,337046400,172713600,518486400,50284800,134092800,47347200,358214400,174614400,209260800,234576000,576892800,447206400,545184000,84758400,53827200,573868800,596764800,127267200,453686400,559612800,-9331200,77932800,110505600,331948800,388454400,172022400,361065600,65923200,285379200,314409600,388022400,97977600,402105600,370656000,352857600,129340800,66182400,477705600,42076800,446428800,283305600,174960000,52531200,509068800,137289600,483580800,241056000,493344000,494035200,437702400,306201600,-2073600,-2592000,410832000,471312000,132451200,452304000,454982400,179366400,20217600,117676800,581558400,146880000,351475200,539913600,-20995200,441590400,556588800,224726400,276480000,49766400,514684800,564364800,301276800,484876800,221270400,165024000,127526400,545529600,220492800,572054400,550627200,582249600,57801600,167788800,533606400,285465600,357177600,265507200,264038400,14515200,7084800,434332800,568339200,315446400,526608000,188352000,253065600,497750400,426643200,480038400,374889600,459993600,51062400,157507200,453340800,552528000,95126400,179193600,17366400,-3024000,234230400,437529600,262569600,338688000,443059200,193968000,78710400,414201600,454291200,494553600,536198400,445219200,32659200,-14860800,475804800,26179200,305856000,-12355200,114220800,279158400,459388800,330739200,444528000,272073600,-20476800,499564800,277516800,105580800,322790400,51840000,31104000,238896000,16588800,421459200,192672000,108172800,474940800,542592000,470966400,544924800,58752000,313545600,378864000,128390400,221356800,236390400,55382400,379814400,-9676800,472262400,232329600,259459200,65318400,455241600,479347200,12009600,139536000,235526400,205632000,416448000,86832000,502588800,500860800,456710400,426816000,21513600,273110400,431568000,283046400,229564800,-26438400,368841600,420595200,162345600,290131200,437097600,255139200,86313600,298857600,173059200,383788800,116121600,225936000,543196800,119232000,133747200,392083200,210038400,152755200,485136000,410313600,357436800,82339200,433382400,11059200,33436800,578102400,140659200,111024000,364262400,0,264297600,41904000,81043200,567820800,224640000,563328000,355881600,462931200,126576000,290304000,34819200,306547200,432000,204681600,525657600,81907200,531273600,362793600,567734400,40694400,280800000,429667200,598233600,177638400,272678400,477360000,65232000,433209600,456364800,547862400,392947200,377395200,13132800,60134400,199929600,290822400,32140800,-19180800,363916800,246412800,124243200,295920000,447552000,389318400,8553600,428889600,58492800,490147200,16848000,21600000,476582400,185673600,52876800,506649600,423100800,454032000,340243200,132364800,165283200,216604800,98409600,567907200,138412800,10281600,-16848000,311990400,467164800,492393600,326678400,197596800,19526400,385171200,38534400,68428800,392860800,266025600,374803200,77328000,357609600,191462400,289526400,306460800,581904000,322185600,498960000,31622400,502675200,451612800,155260800,560649600,516844800,555379200,576979200,514080000,110246400,590025600,222220800,412128000,547344000,323481600,289440000,585705600,524188800,227923200,85104000,-21513600,577843200,553824000,527990400,399686400,339811200,294105600,61689600,373075200,517190400,381110400,416707200,326764800,14169600,173923200,336960000,-9763200,-26611200,94262400,546566400,381715200,394934400,516672000,128908800,588988800,30844800,570931200,98064000,139363200,202435200,68515200,326592000,516499200,256953600,171072000,145756800,123465600,144979200,209779200,-6652800,257126400,461376000,397699200,415152000,158284800,72921600,513907200,121478400,350956800,537580800,100742400,381456000,416534400,168998400,31276800,506131200,33004800,376704000,222825600,-30412800,242697600,22982400,515289600,393379200,523324800,169430400,486777600,275788800,425692800,376099200,422409600,497836800,589507200,67478400,318988800,492566400,528076800,336528000,52099200,-2332800,382924800,66960000,248227200,137721600,-24364800,361929600,28771200,64540800,550108800,308102400,134611200,442886400,426988800,59616000,549244800,98841600,569376000,553737600,192758400,210902400,272419200,47433600,324432000,458611200,530409600,-20390400,506304000,343699200,232416000,317174400,181526400,96076800,374457600,195264000,168048000,262137600,388627200,-18835200,521596800,24710400,249782400,-18576000,435283200,145584000,507600000,323568000,406684800,373507200,304300800,587260800,597974400,132537600,186624000,389923200,359942400,233712000,402969600,-30067200,487209600,548121600,131241600,345600,537753600,164764800,501033600,189216000,174700800,158976000,267062400,-28080000,295228800,39052800,489283200,240019200,204854400,582681600,407203200,261619200,402710400,489542400,565574400,24537600,430790400,191203200,191635200,103852800,218419200,-3628800,422928000,172886400,204249600,399772800,387676800,8640000,291168000,492307200,258681600,155520000,328233600,221875200,200275200,491875200,235267200,32400000,59875200,244339200,561513600,207187200,234489600,136512000,151200000,435974400,24796800,196732800,315014400,316310400,146361600,102124800,123984000,248832000,313804800,180576000,525139200,180403200,254188800,50544000,271555200,572486400,17539200,240451200,344908800,88560000,416880000,85708800,36115200,163123200,478310400,292204800,440208000,553478400,393120000,182995200,374976000,242006400,249350400,432950400,263779200,498787200,466128000,452131200,223430400,342403200,405475200,147052800,27648000,7603200,529372800,314668800,79315200,168220800,448070400,390355200,112060800,308966400,25747200,382752000,427593600,488505600,567993600,481680000,134697600,553564800,53481600,531705600,-10281600,212025600,377222400,359164800,303436800,2592000,328406400,249436800,460598400,542332800,494985600,381888000,-4060800,473472000,449539200,30758400,434419200,529286400,126748800,375580800,312422400,122428800,15465600,477619200,500601600,395712000,572918400,40780800,219456000,422841600,379900800,192326400,228441600,135648000,402451200,78796800,505958400,126835200,69206400,442800000,411955200,67910400,559353600,108086400,5184000,102556800,76377600,282528000,414892800,12528000,234316800,241574400,495072000,484704000,145152000,347760000,424656000,511401600,500428800,409795200,14601600,106099200,307584000,589593600,376012800,35424000,63331200,104025600,279849600,522633600,393811200,538617600,88128000,518832000,415929600,309830400,54518400,-864000,137030400,472435200,161827200,516067200,181008000,40003200,569203200],"y":[1286,1272,1288,970,694,928,1508,778,1107,1152,1066,936,1026,758,922,922,922,804,1006,1144,1386,754,1090,1110,1100,1120,962,1118,942,906,882,1072,880,994,944,1470,1050,1136,994,938,1381,1613,658,1184,1313,994,788,872,1140,1060,736,1246,904,1058,1082,1278,788,1206,1250,984,828,744,1312,876,1164,894,770,906,1327,856,1276,1066,1454,1447,1238,1080,1020,1032,1086,1066,802,1300,1104,1028,832,884,1508,984,1206,1489,854,1204,1281,950,1028,1028,1309,1468,1076,1408,940,858,824,1397,964,1502,1123,1633,890,768,1111,956,1076,1028,1032,982,1008,1362,1440,1086,1545,774,802,1459,1074,1336,1164,1246,838,702,1208,1403,672,860,1166,824,906,1110,1028,1170,1120,946,838,1256,1324,1464,1441,1276,942,930,1342,906,1170,1032,914,1030,1274,1118,1164,1040,978,1323,974,766,1252,946,858,1122,848,1280,876,830,1158,1410,1298,1525,908,914,1062,758,928,1052,1072,1138,1038,1310,952,946,716,1196,1239,966,896,794,934,1244,844,1349,1412,1190,1284,882,1008,1020,990,928,930,1286,978,734,980,1176,962,918,1114,868,1122,860,916,1480,784,866,1084,930,846,1298,1058,1220,910,1300,928,976,1626,934,786,1074,764,1044,924,912,1550,886,1159,990,1086,748,1040,904,1228,982,776,1479,836,1063,1168,1598,820,948,1092,1556,874,1004,1104,882,1122,1386,1369,1276,1246,1020,700,896,1148,956,866,1152,846,758,860,1194,1256,1002,1326,830,1117,986,1158,1332,822,780,1295,1024,1264,1060,818,748,972,816,1417,922,896,1024,1120,964,1459,1116,904,934,1168,924,884,1250,1098,1282,744,1028,920,978,1148,1528,1154,1355,798,1324,1250,856,1451,1379,1278,1454,1349,736,1588,804,968,1414,1102,990,1246,1416,956,890,846,1206,1521,1466,1254,1182,852,896,1214,1420,1292,1246,972,876,960,1264,1080,888,916,1430,1122,1422,1118,842,1604,882,1455,804,702,944,742,1076,1437,980,940,956,874,998,1002,922,964,1376,1252,1106,862,850,1382,818,1032,1393,842,1168,1206,794,1154,1346,1082,1196,800,1036,978,1030,1407,1066,1214,968,1317,1122,1416,1226,1014,1374,1653,738,936,1186,1497,1030,896,970,1142,896,896,874,1010,1034,1048,906,1483,906,822,1068,1334,832,1477,702,1142,1481,860,996,894,762,926,1120,1336,862,1331,990,844,852,926,902,1174,894,912,842,1190,996,1129,1010,986,874,1304,990,1098,1056,1038,1268,1074,1643,1534,858,936,1292,1218,806,1086,904,1389,1173,866,938,1396,852,1136,1000,944,942,1000,982,1118,990,1126,1010,920,1275,1002,904,1334,1131,1494,1088,1128,812,866,884,960,1018,1082,934,852,1310,1252,992,930,1441,1024,888,1202,1048,856,1261,1014,960,666,1070,1149,1008,994,826,862,1298,1096,834,986,1034,880,814,828,842,1146,1000,1268,916,800,928,1006,1396,1000,1012,990,770,1040,972,940,848,1240,1044,1202,1516,1226,832,1158,1022,876,1332,990,1363,1492,1256,928,1196,1032,966,1084,1032,1165,918,956,890,1208,1000,746,1080,1060,1256,1194,1316,1182,1126,884,1190,884,1387,1042,1078,1194,1060,1284,852,1094,852,1446,1385,1162,966,898,1135,1078,1012,1140,1472,874,950,1018,732,960,1205,1390,1202,1255,764,992,1256,1112,878,994,782,1036,744,1261,834,758,1252,1220,808,1524,834,1038,848,750,1056,1292,1026,796,916,1434,1065,908,1068,1262,1375,1091,1232,1072,764,1054,1671,1266,854,770,832,1050,1480,1242,1399,880,1423,1258,960,1012,1032,808,1388,660,1210,838,884,1464],"text":["date: 425520000
    value: 1286.0
    birth_stat: max","date: 406771200
    value: 1272.0
    birth_stat: max","date: 494294400
    value: 1288.0
    birth_stat: max","date: 6220800
    value: 970.0
    birth_stat: max","date: 162864000
    value: 694.0
    birth_stat: max","date: 63936000
    value: 928.0
    birth_stat: max","date: 582768000
    value: 1508.0
    birth_stat: max","date: 176860800
    value: 778.0
    birth_stat: max","date: 474336000
    value: 1107.0
    birth_stat: max","date: 350697600
    value: 1152.0
    birth_stat: max","date: 270259200
    value: 1066.0
    birth_stat: max","date: -30153600
    value: 936.0
    birth_stat: max","date: 207532800
    value: 1026.0
    birth_stat: max","date: 74044800
    value: 758.0
    birth_stat: max","date: 257731200
    value: 922.0
    birth_stat: max","date: 185760000
    value: 922.0
    birth_stat: max","date: 197683200
    value: 922.0
    birth_stat: max","date: 89683200
    value: 804.0
    birth_stat: max","date: 14860800
    value: 1006.0
    birth_stat: max","date: 332985600
    value: 1144.0
    birth_stat: max","date: 429840000
    value: 1386.0
    birth_stat: max","date: 152668800
    value: 754.0
    birth_stat: max","date: 358300800
    value: 1090.0
    birth_stat: max","date: 290390400
    value: 1110.0
    birth_stat: max","date: 389664000
    value: 1100.0
    birth_stat: max","date: 337046400
    value: 1120.0
    birth_stat: max","date: 172713600
    value: 962.0
    birth_stat: max","date: 518486400
    value: 1118.0
    birth_stat: max","date: 50284800
    value: 942.0
    birth_stat: max","date: 134092800
    value: 906.0
    birth_stat: max","date: 47347200
    value: 882.0
    birth_stat: max","date: 358214400
    value: 1072.0
    birth_stat: max","date: 174614400
    value: 880.0
    birth_stat: max","date: 209260800
    value: 994.0
    birth_stat: max","date: 234576000
    value: 944.0
    birth_stat: max","date: 576892800
    value: 1470.0
    birth_stat: max","date: 447206400
    value: 1050.0
    birth_stat: max","date: 545184000
    value: 1136.0
    birth_stat: max","date: 84758400
    value: 994.0
    birth_stat: max","date: 53827200
    value: 938.0
    birth_stat: max","date: 573868800
    value: 1381.0
    birth_stat: max","date: 596764800
    value: 1613.0
    birth_stat: max","date: 127267200
    value: 658.0
    birth_stat: max","date: 453686400
    value: 1184.0
    birth_stat: max","date: 559612800
    value: 1313.0
    birth_stat: max","date: -9331200
    value: 994.0
    birth_stat: max","date: 77932800
    value: 788.0
    birth_stat: max","date: 110505600
    value: 872.0
    birth_stat: max","date: 331948800
    value: 1140.0
    birth_stat: max","date: 388454400
    value: 1060.0
    birth_stat: max","date: 172022400
    value: 736.0
    birth_stat: max","date: 361065600
    value: 1246.0
    birth_stat: max","date: 65923200
    value: 904.0
    birth_stat: max","date: 285379200
    value: 1058.0
    birth_stat: max","date: 314409600
    value: 1082.0
    birth_stat: max","date: 388022400
    value: 1278.0
    birth_stat: max","date: 97977600
    value: 788.0
    birth_stat: max","date: 402105600
    value: 1206.0
    birth_stat: max","date: 370656000
    value: 1250.0
    birth_stat: max","date: 352857600
    value: 984.0
    birth_stat: max","date: 129340800
    value: 828.0
    birth_stat: max","date: 66182400
    value: 744.0
    birth_stat: max","date: 477705600
    value: 1312.0
    birth_stat: max","date: 42076800
    value: 876.0
    birth_stat: max","date: 446428800
    value: 1164.0
    birth_stat: max","date: 283305600
    value: 894.0
    birth_stat: max","date: 174960000
    value: 770.0
    birth_stat: max","date: 52531200
    value: 906.0
    birth_stat: max","date: 509068800
    value: 1327.0
    birth_stat: max","date: 137289600
    value: 856.0
    birth_stat: max","date: 483580800
    value: 1276.0
    birth_stat: max","date: 241056000
    value: 1066.0
    birth_stat: max","date: 493344000
    value: 1454.0
    birth_stat: max","date: 494035200
    value: 1447.0
    birth_stat: max","date: 437702400
    value: 1238.0
    birth_stat: max","date: 306201600
    value: 1080.0
    birth_stat: max","date: -2073600
    value: 1020.0
    birth_stat: max","date: -2592000
    value: 1032.0
    birth_stat: max","date: 410832000
    value: 1086.0
    birth_stat: max","date: 471312000
    value: 1066.0
    birth_stat: max","date: 132451200
    value: 802.0
    birth_stat: max","date: 452304000
    value: 1300.0
    birth_stat: max","date: 454982400
    value: 1104.0
    birth_stat: max","date: 179366400
    value: 1028.0
    birth_stat: max","date: 20217600
    value: 832.0
    birth_stat: max","date: 117676800
    value: 884.0
    birth_stat: max","date: 581558400
    value: 1508.0
    birth_stat: max","date: 146880000
    value: 984.0
    birth_stat: max","date: 351475200
    value: 1206.0
    birth_stat: max","date: 539913600
    value: 1489.0
    birth_stat: max","date: -20995200
    value: 854.0
    birth_stat: max","date: 441590400
    value: 1204.0
    birth_stat: max","date: 556588800
    value: 1281.0
    birth_stat: max","date: 224726400
    value: 950.0
    birth_stat: max","date: 276480000
    value: 1028.0
    birth_stat: max","date: 49766400
    value: 1028.0
    birth_stat: max","date: 514684800
    value: 1309.0
    birth_stat: max","date: 564364800
    value: 1468.0
    birth_stat: max","date: 301276800
    value: 1076.0
    birth_stat: max","date: 484876800
    value: 1408.0
    birth_stat: max","date: 221270400
    value: 940.0
    birth_stat: max","date: 165024000
    value: 858.0
    birth_stat: max","date: 127526400
    value: 824.0
    birth_stat: max","date: 545529600
    value: 1397.0
    birth_stat: max","date: 220492800
    value: 964.0
    birth_stat: max","date: 572054400
    value: 1502.0
    birth_stat: max","date: 550627200
    value: 1123.0
    birth_stat: max","date: 582249600
    value: 1633.0
    birth_stat: max","date: 57801600
    value: 890.0
    birth_stat: max","date: 167788800
    value: 768.0
    birth_stat: max","date: 533606400
    value: 1111.0
    birth_stat: max","date: 285465600
    value: 956.0
    birth_stat: max","date: 357177600
    value: 1076.0
    birth_stat: max","date: 265507200
    value: 1028.0
    birth_stat: max","date: 264038400
    value: 1032.0
    birth_stat: max","date: 14515200
    value: 982.0
    birth_stat: max","date: 7084800
    value: 1008.0
    birth_stat: max","date: 434332800
    value: 1362.0
    birth_stat: max","date: 568339200
    value: 1440.0
    birth_stat: max","date: 315446400
    value: 1086.0
    birth_stat: max","date: 526608000
    value: 1545.0
    birth_stat: max","date: 188352000
    value: 774.0
    birth_stat: max","date: 253065600
    value: 802.0
    birth_stat: max","date: 497750400
    value: 1459.0
    birth_stat: max","date: 426643200
    value: 1074.0
    birth_stat: max","date: 480038400
    value: 1336.0
    birth_stat: max","date: 374889600
    value: 1164.0
    birth_stat: max","date: 459993600
    value: 1246.0
    birth_stat: max","date: 51062400
    value: 838.0
    birth_stat: max","date: 157507200
    value: 702.0
    birth_stat: max","date: 453340800
    value: 1208.0
    birth_stat: max","date: 552528000
    value: 1403.0
    birth_stat: max","date: 95126400
    value: 672.0
    birth_stat: max","date: 179193600
    value: 860.0
    birth_stat: max","date: 17366400
    value: 1166.0
    birth_stat: max","date: -3024000
    value: 824.0
    birth_stat: max","date: 234230400
    value: 906.0
    birth_stat: max","date: 437529600
    value: 1110.0
    birth_stat: max","date: 262569600
    value: 1028.0
    birth_stat: max","date: 338688000
    value: 1170.0
    birth_stat: max","date: 443059200
    value: 1120.0
    birth_stat: max","date: 193968000
    value: 946.0
    birth_stat: max","date: 78710400
    value: 838.0
    birth_stat: max","date: 414201600
    value: 1256.0
    birth_stat: max","date: 454291200
    value: 1324.0
    birth_stat: max","date: 494553600
    value: 1464.0
    birth_stat: max","date: 536198400
    value: 1441.0
    birth_stat: max","date: 445219200
    value: 1276.0
    birth_stat: max","date: 32659200
    value: 942.0
    birth_stat: max","date: -14860800
    value: 930.0
    birth_stat: max","date: 475804800
    value: 1342.0
    birth_stat: max","date: 26179200
    value: 906.0
    birth_stat: max","date: 305856000
    value: 1170.0
    birth_stat: max","date: -12355200
    value: 1032.0
    birth_stat: max","date: 114220800
    value: 914.0
    birth_stat: max","date: 279158400
    value: 1030.0
    birth_stat: max","date: 459388800
    value: 1274.0
    birth_stat: max","date: 330739200
    value: 1118.0
    birth_stat: max","date: 444528000
    value: 1164.0
    birth_stat: max","date: 272073600
    value: 1040.0
    birth_stat: max","date: -20476800
    value: 978.0
    birth_stat: max","date: 499564800
    value: 1323.0
    birth_stat: max","date: 277516800
    value: 974.0
    birth_stat: max","date: 105580800
    value: 766.0
    birth_stat: max","date: 322790400
    value: 1252.0
    birth_stat: max","date: 51840000
    value: 946.0
    birth_stat: max","date: 31104000
    value: 858.0
    birth_stat: max","date: 238896000
    value: 1122.0
    birth_stat: max","date: 16588800
    value: 848.0
    birth_stat: max","date: 421459200
    value: 1280.0
    birth_stat: max","date: 192672000
    value: 876.0
    birth_stat: max","date: 108172800
    value: 830.0
    birth_stat: max","date: 474940800
    value: 1158.0
    birth_stat: max","date: 542592000
    value: 1410.0
    birth_stat: max","date: 470966400
    value: 1298.0
    birth_stat: max","date: 544924800
    value: 1525.0
    birth_stat: max","date: 58752000
    value: 908.0
    birth_stat: max","date: 313545600
    value: 914.0
    birth_stat: max","date: 378864000
    value: 1062.0
    birth_stat: max","date: 128390400
    value: 758.0
    birth_stat: max","date: 221356800
    value: 928.0
    birth_stat: max","date: 236390400
    value: 1052.0
    birth_stat: max","date: 55382400
    value: 1072.0
    birth_stat: max","date: 379814400
    value: 1138.0
    birth_stat: max","date: -9676800
    value: 1038.0
    birth_stat: max","date: 472262400
    value: 1310.0
    birth_stat: max","date: 232329600
    value: 952.0
    birth_stat: max","date: 259459200
    value: 946.0
    birth_stat: max","date: 65318400
    value: 716.0
    birth_stat: max","date: 455241600
    value: 1196.0
    birth_stat: max","date: 479347200
    value: 1239.0
    birth_stat: max","date: 12009600
    value: 966.0
    birth_stat: max","date: 139536000
    value: 896.0
    birth_stat: max","date: 235526400
    value: 794.0
    birth_stat: max","date: 205632000
    value: 934.0
    birth_stat: max","date: 416448000
    value: 1244.0
    birth_stat: max","date: 86832000
    value: 844.0
    birth_stat: max","date: 502588800
    value: 1349.0
    birth_stat: max","date: 500860800
    value: 1412.0
    birth_stat: max","date: 456710400
    value: 1190.0
    birth_stat: max","date: 426816000
    value: 1284.0
    birth_stat: max","date: 21513600
    value: 882.0
    birth_stat: max","date: 273110400
    value: 1008.0
    birth_stat: max","date: 431568000
    value: 1020.0
    birth_stat: max","date: 283046400
    value: 990.0
    birth_stat: max","date: 229564800
    value: 928.0
    birth_stat: max","date: -26438400
    value: 930.0
    birth_stat: max","date: 368841600
    value: 1286.0
    birth_stat: max","date: 420595200
    value: 978.0
    birth_stat: max","date: 162345600
    value: 734.0
    birth_stat: max","date: 290131200
    value: 980.0
    birth_stat: max","date: 437097600
    value: 1176.0
    birth_stat: max","date: 255139200
    value: 962.0
    birth_stat: max","date: 86313600
    value: 918.0
    birth_stat: max","date: 298857600
    value: 1114.0
    birth_stat: max","date: 173059200
    value: 868.0
    birth_stat: max","date: 383788800
    value: 1122.0
    birth_stat: max","date: 116121600
    value: 860.0
    birth_stat: max","date: 225936000
    value: 916.0
    birth_stat: max","date: 543196800
    value: 1480.0
    birth_stat: max","date: 119232000
    value: 784.0
    birth_stat: max","date: 133747200
    value: 866.0
    birth_stat: max","date: 392083200
    value: 1084.0
    birth_stat: max","date: 210038400
    value: 930.0
    birth_stat: max","date: 152755200
    value: 846.0
    birth_stat: max","date: 485136000
    value: 1298.0
    birth_stat: max","date: 410313600
    value: 1058.0
    birth_stat: max","date: 357436800
    value: 1220.0
    birth_stat: max","date: 82339200
    value: 910.0
    birth_stat: max","date: 433382400
    value: 1300.0
    birth_stat: max","date: 11059200
    value: 928.0
    birth_stat: max","date: 33436800
    value: 976.0
    birth_stat: max","date: 578102400
    value: 1626.0
    birth_stat: max","date: 140659200
    value: 934.0
    birth_stat: max","date: 111024000
    value: 786.0
    birth_stat: max","date: 364262400
    value: 1074.0
    birth_stat: max","date: 0
    value: 764.0
    birth_stat: max","date: 264297600
    value: 1044.0
    birth_stat: max","date: 41904000
    value: 924.0
    birth_stat: max","date: 81043200
    value: 912.0
    birth_stat: max","date: 567820800
    value: 1550.0
    birth_stat: max","date: 224640000
    value: 886.0
    birth_stat: max","date: 563328000
    value: 1159.0
    birth_stat: max","date: 355881600
    value: 990.0
    birth_stat: max","date: 462931200
    value: 1086.0
    birth_stat: max","date: 126576000
    value: 748.0
    birth_stat: max","date: 290304000
    value: 1040.0
    birth_stat: max","date: 34819200
    value: 904.0
    birth_stat: max","date: 306547200
    value: 1228.0
    birth_stat: max","date: 432000
    value: 982.0
    birth_stat: max","date: 204681600
    value: 776.0
    birth_stat: max","date: 525657600
    value: 1479.0
    birth_stat: max","date: 81907200
    value: 836.0
    birth_stat: max","date: 531273600
    value: 1063.0
    birth_stat: max","date: 362793600
    value: 1168.0
    birth_stat: max","date: 567734400
    value: 1598.0
    birth_stat: max","date: 40694400
    value: 820.0
    birth_stat: max","date: 280800000
    value: 948.0
    birth_stat: max","date: 429667200
    value: 1092.0
    birth_stat: max","date: 598233600
    value: 1556.0
    birth_stat: max","date: 177638400
    value: 874.0
    birth_stat: max","date: 272678400
    value: 1004.0
    birth_stat: max","date: 477360000
    value: 1104.0
    birth_stat: max","date: 65232000
    value: 882.0
    birth_stat: max","date: 433209600
    value: 1122.0
    birth_stat: max","date: 456364800
    value: 1386.0
    birth_stat: max","date: 547862400
    value: 1369.0
    birth_stat: max","date: 392947200
    value: 1276.0
    birth_stat: max","date: 377395200
    value: 1246.0
    birth_stat: max","date: 13132800
    value: 1020.0
    birth_stat: max","date: 60134400
    value: 700.0
    birth_stat: max","date: 199929600
    value: 896.0
    birth_stat: max","date: 290822400
    value: 1148.0
    birth_stat: max","date: 32140800
    value: 956.0
    birth_stat: max","date: -19180800
    value: 866.0
    birth_stat: max","date: 363916800
    value: 1152.0
    birth_stat: max","date: 246412800
    value: 846.0
    birth_stat: max","date: 124243200
    value: 758.0
    birth_stat: max","date: 295920000
    value: 860.0
    birth_stat: max","date: 447552000
    value: 1194.0
    birth_stat: max","date: 389318400
    value: 1256.0
    birth_stat: max","date: 8553600
    value: 1002.0
    birth_stat: max","date: 428889600
    value: 1326.0
    birth_stat: max","date: 58492800
    value: 830.0
    birth_stat: max","date: 490147200
    value: 1117.0
    birth_stat: max","date: 16848000
    value: 986.0
    birth_stat: max","date: 21600000
    value: 1158.0
    birth_stat: max","date: 476582400
    value: 1332.0
    birth_stat: max","date: 185673600
    value: 822.0
    birth_stat: max","date: 52876800
    value: 780.0
    birth_stat: max","date: 506649600
    value: 1295.0
    birth_stat: max","date: 423100800
    value: 1024.0
    birth_stat: max","date: 454032000
    value: 1264.0
    birth_stat: max","date: 340243200
    value: 1060.0
    birth_stat: max","date: 132364800
    value: 818.0
    birth_stat: max","date: 165283200
    value: 748.0
    birth_stat: max","date: 216604800
    value: 972.0
    birth_stat: max","date: 98409600
    value: 816.0
    birth_stat: max","date: 567907200
    value: 1417.0
    birth_stat: max","date: 138412800
    value: 922.0
    birth_stat: max","date: 10281600
    value: 896.0
    birth_stat: max","date: -16848000
    value: 1024.0
    birth_stat: max","date: 311990400
    value: 1120.0
    birth_stat: max","date: 467164800
    value: 964.0
    birth_stat: max","date: 492393600
    value: 1459.0
    birth_stat: max","date: 326678400
    value: 1116.0
    birth_stat: max","date: 197596800
    value: 904.0
    birth_stat: max","date: 19526400
    value: 934.0
    birth_stat: max","date: 385171200
    value: 1168.0
    birth_stat: max","date: 38534400
    value: 924.0
    birth_stat: max","date: 68428800
    value: 884.0
    birth_stat: max","date: 392860800
    value: 1250.0
    birth_stat: max","date: 266025600
    value: 1098.0
    birth_stat: max","date: 374803200
    value: 1282.0
    birth_stat: max","date: 77328000
    value: 744.0
    birth_stat: max","date: 357609600
    value: 1028.0
    birth_stat: max","date: 191462400
    value: 920.0
    birth_stat: max","date: 289526400
    value: 978.0
    birth_stat: max","date: 306460800
    value: 1148.0
    birth_stat: max","date: 581904000
    value: 1528.0
    birth_stat: max","date: 322185600
    value: 1154.0
    birth_stat: max","date: 498960000
    value: 1355.0
    birth_stat: max","date: 31622400
    value: 798.0
    birth_stat: max","date: 502675200
    value: 1324.0
    birth_stat: max","date: 451612800
    value: 1250.0
    birth_stat: max","date: 155260800
    value: 856.0
    birth_stat: max","date: 560649600
    value: 1451.0
    birth_stat: max","date: 516844800
    value: 1379.0
    birth_stat: max","date: 555379200
    value: 1278.0
    birth_stat: max","date: 576979200
    value: 1454.0
    birth_stat: max","date: 514080000
    value: 1349.0
    birth_stat: max","date: 110246400
    value: 736.0
    birth_stat: max","date: 590025600
    value: 1588.0
    birth_stat: max","date: 222220800
    value: 804.0
    birth_stat: max","date: 412128000
    value: 968.0
    birth_stat: max","date: 547344000
    value: 1414.0
    birth_stat: max","date: 323481600
    value: 1102.0
    birth_stat: max","date: 289440000
    value: 990.0
    birth_stat: max","date: 585705600
    value: 1246.0
    birth_stat: max","date: 524188800
    value: 1416.0
    birth_stat: max","date: 227923200
    value: 956.0
    birth_stat: max","date: 85104000
    value: 890.0
    birth_stat: max","date: -21513600
    value: 846.0
    birth_stat: max","date: 577843200
    value: 1206.0
    birth_stat: max","date: 553824000
    value: 1521.0
    birth_stat: max","date: 527990400
    value: 1466.0
    birth_stat: max","date: 399686400
    value: 1254.0
    birth_stat: max","date: 339811200
    value: 1182.0
    birth_stat: max","date: 294105600
    value: 852.0
    birth_stat: max","date: 61689600
    value: 896.0
    birth_stat: max","date: 373075200
    value: 1214.0
    birth_stat: max","date: 517190400
    value: 1420.0
    birth_stat: max","date: 381110400
    value: 1292.0
    birth_stat: max","date: 416707200
    value: 1246.0
    birth_stat: max","date: 326764800
    value: 972.0
    birth_stat: max","date: 14169600
    value: 876.0
    birth_stat: max","date: 173923200
    value: 960.0
    birth_stat: max","date: 336960000
    value: 1264.0
    birth_stat: max","date: -9763200
    value: 1080.0
    birth_stat: max","date: -26611200
    value: 888.0
    birth_stat: max","date: 94262400
    value: 916.0
    birth_stat: max","date: 546566400
    value: 1430.0
    birth_stat: max","date: 381715200
    value: 1122.0
    birth_stat: max","date: 394934400
    value: 1422.0
    birth_stat: max","date: 516672000
    value: 1118.0
    birth_stat: max","date: 128908800
    value: 842.0
    birth_stat: max","date: 588988800
    value: 1604.0
    birth_stat: max","date: 30844800
    value: 882.0
    birth_stat: max","date: 570931200
    value: 1455.0
    birth_stat: max","date: 98064000
    value: 804.0
    birth_stat: max","date: 139363200
    value: 702.0
    birth_stat: max","date: 202435200
    value: 944.0
    birth_stat: max","date: 68515200
    value: 742.0
    birth_stat: max","date: 326592000
    value: 1076.0
    birth_stat: max","date: 516499200
    value: 1437.0
    birth_stat: max","date: 256953600
    value: 980.0
    birth_stat: max","date: 171072000
    value: 940.0
    birth_stat: max","date: 145756800
    value: 956.0
    birth_stat: max","date: 123465600
    value: 874.0
    birth_stat: max","date: 144979200
    value: 998.0
    birth_stat: max","date: 209779200
    value: 1002.0
    birth_stat: max","date: -6652800
    value: 922.0
    birth_stat: max","date: 257126400
    value: 964.0
    birth_stat: max","date: 461376000
    value: 1376.0
    birth_stat: max","date: 397699200
    value: 1252.0
    birth_stat: max","date: 415152000
    value: 1106.0
    birth_stat: max","date: 158284800
    value: 862.0
    birth_stat: max","date: 72921600
    value: 850.0
    birth_stat: max","date: 513907200
    value: 1382.0
    birth_stat: max","date: 121478400
    value: 818.0
    birth_stat: max","date: 350956800
    value: 1032.0
    birth_stat: max","date: 537580800
    value: 1393.0
    birth_stat: max","date: 100742400
    value: 842.0
    birth_stat: max","date: 381456000
    value: 1168.0
    birth_stat: max","date: 416534400
    value: 1206.0
    birth_stat: max","date: 168998400
    value: 794.0
    birth_stat: max","date: 31276800
    value: 1154.0
    birth_stat: max","date: 506131200
    value: 1346.0
    birth_stat: max","date: 33004800
    value: 1082.0
    birth_stat: max","date: 376704000
    value: 1196.0
    birth_stat: max","date: 222825600
    value: 800.0
    birth_stat: max","date: -30412800
    value: 1036.0
    birth_stat: max","date: 242697600
    value: 978.0
    birth_stat: max","date: 22982400
    value: 1030.0
    birth_stat: max","date: 515289600
    value: 1407.0
    birth_stat: max","date: 393379200
    value: 1066.0
    birth_stat: max","date: 523324800
    value: 1214.0
    birth_stat: max","date: 169430400
    value: 968.0
    birth_stat: max","date: 486777600
    value: 1317.0
    birth_stat: max","date: 275788800
    value: 1122.0
    birth_stat: max","date: 425692800
    value: 1416.0
    birth_stat: max","date: 376099200
    value: 1226.0
    birth_stat: max","date: 422409600
    value: 1014.0
    birth_stat: max","date: 497836800
    value: 1374.0
    birth_stat: max","date: 589507200
    value: 1653.0
    birth_stat: max","date: 67478400
    value: 738.0
    birth_stat: max","date: 318988800
    value: 936.0
    birth_stat: max","date: 492566400
    value: 1186.0
    birth_stat: max","date: 528076800
    value: 1497.0
    birth_stat: max","date: 336528000
    value: 1030.0
    birth_stat: max","date: 52099200
    value: 896.0
    birth_stat: max","date: -2332800
    value: 970.0
    birth_stat: max","date: 382924800
    value: 1142.0
    birth_stat: max","date: 66960000
    value: 896.0
    birth_stat: max","date: 248227200
    value: 896.0
    birth_stat: max","date: 137721600
    value: 874.0
    birth_stat: max","date: -24364800
    value: 1010.0
    birth_stat: max","date: 361929600
    value: 1034.0
    birth_stat: max","date: 28771200
    value: 1048.0
    birth_stat: max","date: 64540800
    value: 906.0
    birth_stat: max","date: 550108800
    value: 1483.0
    birth_stat: max","date: 308102400
    value: 906.0
    birth_stat: max","date: 134611200
    value: 822.0
    birth_stat: max","date: 442886400
    value: 1068.0
    birth_stat: max","date: 426988800
    value: 1334.0
    birth_stat: max","date: 59616000
    value: 832.0
    birth_stat: max","date: 549244800
    value: 1477.0
    birth_stat: max","date: 98841600
    value: 702.0
    birth_stat: max","date: 569376000
    value: 1142.0
    birth_stat: max","date: 553737600
    value: 1481.0
    birth_stat: max","date: 192758400
    value: 860.0
    birth_stat: max","date: 210902400
    value: 996.0
    birth_stat: max","date: 272419200
    value: 894.0
    birth_stat: max","date: 47433600
    value: 762.0
    birth_stat: max","date: 324432000
    value: 926.0
    birth_stat: max","date: 458611200
    value: 1120.0
    birth_stat: max","date: 530409600
    value: 1336.0
    birth_stat: max","date: -20390400
    value: 862.0
    birth_stat: max","date: 506304000
    value: 1331.0
    birth_stat: max","date: 343699200
    value: 990.0
    birth_stat: max","date: 232416000
    value: 844.0
    birth_stat: max","date: 317174400
    value: 852.0
    birth_stat: max","date: 181526400
    value: 926.0
    birth_stat: max","date: 96076800
    value: 902.0
    birth_stat: max","date: 374457600
    value: 1174.0
    birth_stat: max","date: 195264000
    value: 894.0
    birth_stat: max","date: 168048000
    value: 912.0
    birth_stat: max","date: 262137600
    value: 842.0
    birth_stat: max","date: 388627200
    value: 1190.0
    birth_stat: max","date: -18835200
    value: 996.0
    birth_stat: max","date: 521596800
    value: 1129.0
    birth_stat: max","date: 24710400
    value: 1010.0
    birth_stat: max","date: 249782400
    value: 986.0
    birth_stat: max","date: -18576000
    value: 874.0
    birth_stat: max","date: 435283200
    value: 1304.0
    birth_stat: max","date: 145584000
    value: 990.0
    birth_stat: max","date: 507600000
    value: 1098.0
    birth_stat: max","date: 323568000
    value: 1056.0
    birth_stat: max","date: 406684800
    value: 1038.0
    birth_stat: max","date: 373507200
    value: 1268.0
    birth_stat: max","date: 304300800
    value: 1074.0
    birth_stat: max","date: 587260800
    value: 1643.0
    birth_stat: max","date: 597974400
    value: 1534.0
    birth_stat: max","date: 132537600
    value: 858.0
    birth_stat: max","date: 186624000
    value: 936.0
    birth_stat: max","date: 389923200
    value: 1292.0
    birth_stat: max","date: 359942400
    value: 1218.0
    birth_stat: max","date: 233712000
    value: 806.0
    birth_stat: max","date: 402969600
    value: 1086.0
    birth_stat: max","date: -30067200
    value: 904.0
    birth_stat: max","date: 487209600
    value: 1389.0
    birth_stat: max","date: 548121600
    value: 1173.0
    birth_stat: max","date: 131241600
    value: 866.0
    birth_stat: max","date: 345600
    value: 938.0
    birth_stat: max","date: 537753600
    value: 1396.0
    birth_stat: max","date: 164764800
    value: 852.0
    birth_stat: max","date: 501033600
    value: 1136.0
    birth_stat: max","date: 189216000
    value: 1000.0
    birth_stat: max","date: 174700800
    value: 944.0
    birth_stat: max","date: 158976000
    value: 942.0
    birth_stat: max","date: 267062400
    value: 1000.0
    birth_stat: max","date: -28080000
    value: 982.0
    birth_stat: max","date: 295228800
    value: 1118.0
    birth_stat: max","date: 39052800
    value: 990.0
    birth_stat: max","date: 489283200
    value: 1126.0
    birth_stat: max","date: 240019200
    value: 1010.0
    birth_stat: max","date: 204854400
    value: 920.0
    birth_stat: max","date: 582681600
    value: 1275.0
    birth_stat: max","date: 407203200
    value: 1002.0
    birth_stat: max","date: 261619200
    value: 904.0
    birth_stat: max","date: 402710400
    value: 1334.0
    birth_stat: max","date: 489542400
    value: 1131.0
    birth_stat: max","date: 565574400
    value: 1494.0
    birth_stat: max","date: 24537600
    value: 1088.0
    birth_stat: max","date: 430790400
    value: 1128.0
    birth_stat: max","date: 191203200
    value: 812.0
    birth_stat: max","date: 191635200
    value: 866.0
    birth_stat: max","date: 103852800
    value: 884.0
    birth_stat: max","date: 218419200
    value: 960.0
    birth_stat: max","date: -3628800
    value: 1018.0
    birth_stat: max","date: 422928000
    value: 1082.0
    birth_stat: max","date: 172886400
    value: 934.0
    birth_stat: max","date: 204249600
    value: 852.0
    birth_stat: max","date: 399772800
    value: 1310.0
    birth_stat: max","date: 387676800
    value: 1252.0
    birth_stat: max","date: 8640000
    value: 992.0
    birth_stat: max","date: 291168000
    value: 930.0
    birth_stat: max","date: 492307200
    value: 1441.0
    birth_stat: max","date: 258681600
    value: 1024.0
    birth_stat: max","date: 155520000
    value: 888.0
    birth_stat: max","date: 328233600
    value: 1202.0
    birth_stat: max","date: 221875200
    value: 1048.0
    birth_stat: max","date: 200275200
    value: 856.0
    birth_stat: max","date: 491875200
    value: 1261.0
    birth_stat: max","date: 235267200
    value: 1014.0
    birth_stat: max","date: 32400000
    value: 960.0
    birth_stat: max","date: 59875200
    value: 666.0
    birth_stat: max","date: 244339200
    value: 1070.0
    birth_stat: max","date: 561513600
    value: 1149.0
    birth_stat: max","date: 207187200
    value: 1008.0
    birth_stat: max","date: 234489600
    value: 994.0
    birth_stat: max","date: 136512000
    value: 826.0
    birth_stat: max","date: 151200000
    value: 862.0
    birth_stat: max","date: 435974400
    value: 1298.0
    birth_stat: max","date: 24796800
    value: 1096.0
    birth_stat: max","date: 196732800
    value: 834.0
    birth_stat: max","date: 315014400
    value: 986.0
    birth_stat: max","date: 316310400
    value: 1034.0
    birth_stat: max","date: 146361600
    value: 880.0
    birth_stat: max","date: 102124800
    value: 814.0
    birth_stat: max","date: 123984000
    value: 828.0
    birth_stat: max","date: 248832000
    value: 842.0
    birth_stat: max","date: 313804800
    value: 1146.0
    birth_stat: max","date: 180576000
    value: 1000.0
    birth_stat: max","date: 525139200
    value: 1268.0
    birth_stat: max","date: 180403200
    value: 916.0
    birth_stat: max","date: 254188800
    value: 800.0
    birth_stat: max","date: 50544000
    value: 928.0
    birth_stat: max","date: 271555200
    value: 1006.0
    birth_stat: max","date: 572486400
    value: 1396.0
    birth_stat: max","date: 17539200
    value: 1000.0
    birth_stat: max","date: 240451200
    value: 1012.0
    birth_stat: max","date: 344908800
    value: 990.0
    birth_stat: max","date: 88560000
    value: 770.0
    birth_stat: max","date: 416880000
    value: 1040.0
    birth_stat: max","date: 85708800
    value: 972.0
    birth_stat: max","date: 36115200
    value: 940.0
    birth_stat: max","date: 163123200
    value: 848.0
    birth_stat: max","date: 478310400
    value: 1240.0
    birth_stat: max","date: 292204800
    value: 1044.0
    birth_stat: max","date: 440208000
    value: 1202.0
    birth_stat: max","date: 553478400
    value: 1516.0
    birth_stat: max","date: 393120000
    value: 1226.0
    birth_stat: max","date: 182995200
    value: 832.0
    birth_stat: max","date: 374976000
    value: 1158.0
    birth_stat: max","date: 242006400
    value: 1022.0
    birth_stat: max","date: 249350400
    value: 876.0
    birth_stat: max","date: 432950400
    value: 1332.0
    birth_stat: max","date: 263779200
    value: 990.0
    birth_stat: max","date: 498787200
    value: 1363.0
    birth_stat: max","date: 466128000
    value: 1492.0
    birth_stat: max","date: 452131200
    value: 1256.0
    birth_stat: max","date: 223430400
    value: 928.0
    birth_stat: max","date: 342403200
    value: 1196.0
    birth_stat: max","date: 405475200
    value: 1032.0
    birth_stat: max","date: 147052800
    value: 966.0
    birth_stat: max","date: 27648000
    value: 1084.0
    birth_stat: max","date: 7603200
    value: 1032.0
    birth_stat: max","date: 529372800
    value: 1165.0
    birth_stat: max","date: 314668800
    value: 918.0
    birth_stat: max","date: 79315200
    value: 956.0
    birth_stat: max","date: 168220800
    value: 890.0
    birth_stat: max","date: 448070400
    value: 1208.0
    birth_stat: max","date: 390355200
    value: 1000.0
    birth_stat: max","date: 112060800
    value: 746.0
    birth_stat: max","date: 308966400
    value: 1080.0
    birth_stat: max","date: 25747200
    value: 1060.0
    birth_stat: max","date: 382752000
    value: 1256.0
    birth_stat: max","date: 427593600
    value: 1194.0
    birth_stat: max","date: 488505600
    value: 1316.0
    birth_stat: max","date: 567993600
    value: 1182.0
    birth_stat: max","date: 481680000
    value: 1126.0
    birth_stat: max","date: 134697600
    value: 884.0
    birth_stat: max","date: 553564800
    value: 1190.0
    birth_stat: max","date: 53481600
    value: 884.0
    birth_stat: max","date: 531705600
    value: 1387.0
    birth_stat: max","date: -10281600
    value: 1042.0
    birth_stat: max","date: 212025600
    value: 1078.0
    birth_stat: max","date: 377222400
    value: 1194.0
    birth_stat: max","date: 359164800
    value: 1060.0
    birth_stat: max","date: 303436800
    value: 1284.0
    birth_stat: max","date: 2592000
    value: 852.0
    birth_stat: max","date: 328406400
    value: 1094.0
    birth_stat: max","date: 249436800
    value: 852.0
    birth_stat: max","date: 460598400
    value: 1446.0
    birth_stat: max","date: 542332800
    value: 1385.0
    birth_stat: max","date: 494985600
    value: 1162.0
    birth_stat: max","date: 381888000
    value: 966.0
    birth_stat: max","date: -4060800
    value: 898.0
    birth_stat: max","date: 473472000
    value: 1135.0
    birth_stat: max","date: 449539200
    value: 1078.0
    birth_stat: max","date: 30758400
    value: 1012.0
    birth_stat: max","date: 434419200
    value: 1140.0
    birth_stat: max","date: 529286400
    value: 1472.0
    birth_stat: max","date: 126748800
    value: 874.0
    birth_stat: max","date: 375580800
    value: 950.0
    birth_stat: max","date: 312422400
    value: 1018.0
    birth_stat: max","date: 122428800
    value: 732.0
    birth_stat: max","date: 15465600
    value: 960.0
    birth_stat: max","date: 477619200
    value: 1205.0
    birth_stat: max","date: 500601600
    value: 1390.0
    birth_stat: max","date: 395712000
    value: 1202.0
    birth_stat: max","date: 572918400
    value: 1255.0
    birth_stat: max","date: 40780800
    value: 764.0
    birth_stat: max","date: 219456000
    value: 992.0
    birth_stat: max","date: 422841600
    value: 1256.0
    birth_stat: max","date: 379900800
    value: 1112.0
    birth_stat: max","date: 192326400
    value: 878.0
    birth_stat: max","date: 228441600
    value: 994.0
    birth_stat: max","date: 135648000
    value: 782.0
    birth_stat: max","date: 402451200
    value: 1036.0
    birth_stat: max","date: 78796800
    value: 744.0
    birth_stat: max","date: 505958400
    value: 1261.0
    birth_stat: max","date: 126835200
    value: 834.0
    birth_stat: max","date: 69206400
    value: 758.0
    birth_stat: max","date: 442800000
    value: 1252.0
    birth_stat: max","date: 411955200
    value: 1220.0
    birth_stat: max","date: 67910400
    value: 808.0
    birth_stat: max","date: 559353600
    value: 1524.0
    birth_stat: max","date: 108086400
    value: 834.0
    birth_stat: max","date: 5184000
    value: 1038.0
    birth_stat: max","date: 102556800
    value: 848.0
    birth_stat: max","date: 76377600
    value: 750.0
    birth_stat: max","date: 282528000
    value: 1056.0
    birth_stat: max","date: 414892800
    value: 1292.0
    birth_stat: max","date: 12528000
    value: 1026.0
    birth_stat: max","date: 234316800
    value: 796.0
    birth_stat: max","date: 241574400
    value: 916.0
    birth_stat: max","date: 495072000
    value: 1434.0
    birth_stat: max","date: 484704000
    value: 1065.0
    birth_stat: max","date: 145152000
    value: 908.0
    birth_stat: max","date: 347760000
    value: 1068.0
    birth_stat: max","date: 424656000
    value: 1262.0
    birth_stat: max","date: 511401600
    value: 1375.0
    birth_stat: max","date: 500428800
    value: 1091.0
    birth_stat: max","date: 409795200
    value: 1232.0
    birth_stat: max","date: 14601600
    value: 1072.0
    birth_stat: max","date: 106099200
    value: 764.0
    birth_stat: max","date: 307584000
    value: 1054.0
    birth_stat: max","date: 589593600
    value: 1671.0
    birth_stat: max","date: 376012800
    value: 1266.0
    birth_stat: max","date: 35424000
    value: 854.0
    birth_stat: max","date: 63331200
    value: 770.0
    birth_stat: max","date: 104025600
    value: 832.0
    birth_stat: max","date: 279849600
    value: 1050.0
    birth_stat: max","date: 522633600
    value: 1480.0
    birth_stat: max","date: 393811200
    value: 1242.0
    birth_stat: max","date: 538617600
    value: 1399.0
    birth_stat: max","date: 88128000
    value: 880.0
    birth_stat: max","date: 518832000
    value: 1423.0
    birth_stat: max","date: 415929600
    value: 1258.0
    birth_stat: max","date: 309830400
    value: 960.0
    birth_stat: max","date: 54518400
    value: 1012.0
    birth_stat: max","date: -864000
    value: 1032.0
    birth_stat: max","date: 137030400
    value: 808.0
    birth_stat: max","date: 472435200
    value: 1388.0
    birth_stat: max","date: 161827200
    value: 660.0
    birth_stat: max","date: 516067200
    value: 1210.0
    birth_stat: max","date: 181008000
    value: 838.0
    birth_stat: max","date: 40003200
    value: 884.0
    birth_stat: max","date: 569203200
    value: 1464.0
    birth_stat: max"],"type":"scatter","mode":"markers","marker":{"autocolorscale":false,"color":"rgba(248,118,109,1)","opacity":1,"size":5.66929133858268,"symbol":"circle","line":{"width":1.88976377952756,"color":"rgba(248,118,109,1)"}},"hoveron":"points","name":"max","legendgroup":"max","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"x":[471139200,350265600,85363200,358214400,302572800,369705600,205891200,473817600,-6220800,320457600,172454400,12528000,430790400,101952000,156297600,565747200,522806400,595987200,455500800,127440000,598320000,582163200,350697600,197942400,431395200,238636800,420249600,79574400,477792000,370224000,212198400,247622400,-6912000,162777600,294969600,359078400,398822400,113443200,35337600,417744000,454032000,297820800,165888000,586656000,308448000,109900800,490579200,368236800,503712000,88300800,598838400,520041600,327542400,323654400,157766400,499996800,175478400,565056000,470275200,378604800,472953600,308275200,210643200,449193600,156211200,546393600,460425600,278553600,572227200,451180800,55468800,214704000,542332800,235440000,363312000,216864000,172022400,432000000,561772800,488419200,277084800,88992000,285552000,84758400,172281600,285033600,526867200,327801600,307238400,20390400,58060800,227491200,569203200,257731200,215481600,381888000,391392000,213926400,579312000,153619200,190512000,62640000,145584000,297648000,96163200,231897600,329270400,467164800,123552000,551404800,468028800,515980800,112320000,260582400,297302400,288576000,87264000,495331200,121564800,171590400,589075200,483926400,100915200,397353600,381283200,298166400,400291200,416361600,179539200,242438400,235526400,256348800,548035200,243302400,312422400,-10886400,540604800,234230400,126835200,102902400,163382400,65232000,45446400,513907200,458611200,197856000,98323200,284083200,68860800,88819200,268963200,-27993600,452044800,270604800,186537600,413251200,256176000,319766400,-28166400,216691200,10540800,510624000,272592000,70502400,-16588800,314928000,588297600,205632000,22723200,590025600,481334400,184896000,48297600,590630400,289180800,575424000,332467200,181353600,-11232000,141955200,60048000,213494400,599011200,414028800,486259200,260496000,433123200,142473600,33436800,110160000,416016000,240019200,164764800,249609600,594518400,73958400,359683200,219542400,566006400,439257600,546220800,549158400,148262400,87696000,522979200,339638400,381196800,24969600,143164800,324345600,75513600,334540800,194918400,515548800,476064000,232243200,-10022400,114134400,275875200,102643200,188784000,18748800,236822400,-22809600,449107200,579139200,62899200,61344000,513216000,487123200,126489600,46483200,464832000,343785600,190598400,203472000,320025600,379987200,257558400,345168000,293587200,269740800,-1209600,20304000,349401600,270432000,502070400,51753600,292723200,74131200,593913600,401328000,31276800,466819200,585964800,26265600,410832000,33782400,369360000,525398400,107481600,213321600,403056000,39830400,60825600,364780800,34300800,442800000,419385600,395798400,6652800,449798400,31449600,82598400,108000000,375235200,-10972800,438480000,572140800,569116800,-29203200,87955200,124502400,-7776000,578188800,184982400,36201600,-14169600,261878400,463622400,310003200,378259200,80870400,77155200,237340800,46224000,89251200,1036800,254361600,558403200,39484800,492307200,403747200,461289600,533952000,345427200,64022400,138067200,290649600,443664000,-13824000,196041600,515894400,402192000,236736000,88732800,12268800,217555200,257385600,210211200,335232000,210902400,478310400,314064000,448243200,182217600,39052800,121824000,207792000,448502400,-21254400,283737600,269308800,460512000,587779200,575337600,322531200,243820800,384048000,262396800,307670400,51408000,262656000,112924800,178502400,262483200,555120000,258076800,365990400,-27907200,17884800,576547200,27648000,171072000,403574400,507513600,-6652800,424742400,189388800,205718400,591235200,379296000,522028800,169862400,468547200,456969600,560908800,165715200,286243200,445478400,255744000,486432000,263174400,542678400,462153600,155088000,110592000,415238400,13046400,368323200,187228800,119664000,475113600,557452800,458265600,214012800,101779200,368496000,41817600,584841600,280108800,-691200,86832000,339379200,561686400,367027200,50284800,197078400,470707200,37929600,22118400,144028800,594172800,207964800,113097600,594777600,568771200,529977600,1555200,33696000,34473600,500601600,86227200,210384000,189129600,294278400,105235200,164246400,511920000,382924800,71625600,512092800,398131200,262742400,-18230400,422841600,67392000,25660800,5702400,254102400,333763200,104371200,-28684800,215827200,258940800,154396800,562550400,323395200,263520000,99964800,36460800,129081600,465696000,187920000,278380800,189907200,499824000,261187200,97459200,392083200,103248000,275270400,227232000,380073600,143856000,250646400,173145600,31536000,526262400,597801600,222739200,561513600,182131200,422582400,595641600,232761600,427420800,12009600,551664000,367286400,407289600,-18662400,393120000,57542400,199843200,254448000,126921600,81561600,564537600,-6393600,163900800,-17539200,428284800,354067200,427248000,536716800,259545600,383443200,82339200,172540800,6912000,520905600,554688000,222912000,500083200,213753600,544060800,232329600,-9763200,35251200,128822400,125798400,256089600,336182400,96940800,319161600,154569600,141868800,5270400,414892800,144720000,468201600,92966400,203385600,202521600,-25747200,52876800,255830400,135907200,390441600,583459200,361756800,319680000,128217600,203126400,346464000,234748800,215136000,162086400,162950400,-23328000,386899200,103939200,211593600,51840000,27907200,282268800,506995200,193449600,556156800,533174400,42249600,138240000,-18144000,552700800,125020800,45014400,52704000,124675200,29462400,572572800,423705600,67305600,147225600,543196800,106617600,439344000,469584000,416707200,146188800,228268800,252806400,181526400,1987200,536025600,315100800,360720000,12441600,69465600,185068800,232416000,278208000,-16070400,453254400,269568000,324000000,355708800,410745600,265334400,571017600,116985600,527299200,340761600,70675200,46310400,12873600,108864000,543715200,502761600,348278400,32227200,264470400,371433600,113702400,304300800,98409600,343958400,366595200,573609600,163296000,411868800,292982400,274060800,345600,280195200,488764800,585878400,230428800,362620800,56332800,234576000,270518400,526953600,91584000,416966400,81820800,191116800,296784000,276307200,168739200,240451200,390873600,-17452800,120355200,585792000,399600000,271382400,569721600,404092800,238723200,271468800,360115200,179193600,505958400,2764800,96768000,495072000,551577600,234057600,-29808000,522115200,-9849600,105062400,336873600,86313600,180576000,106444800,599097600,104198400,259891200,31795200,382752000,360547200,258681600,226713600,467942400,465264000,282096000,508291200,419644800,325814400,364608000,-30499200,510364800,401932800,501120000,254275200,294192000,549331200,383097600,386208000],"y":[199.450980392157,198.019607843137,201.549019607843,163.803921568627,184.843137254902,188.411764705882,156.725490196078,166.21568627451,209.294117647059,191.823529411765,177.235294117647,207.803921568627,181.21568627451,175.843137254902,147.156862745098,166.333333333333,175.666666666667,165.392156862745,207.058823529412,175.274509803922,171.686274509804,217.588235294118,198.274509803922,144.745098039216,179.43137254902,191.588235294118,204.156862745098,181.607843137255,207.509803921569,224.705882352941,192.862745098039,153.764705882353,196,175.960784313725,196.21568627451,202.137254901961,178.392156862745,185.176470588235,177.803921568627,211.980392156863,211.372549019608,162.921568627451,148.647058823529,238.352941176471,198.156862745098,178.058823529412,225.176470588235,214.156862745098,215.352941176471,176.607843137255,196.019607843137,216.43137254902,195.764705882353,196.725490196078,137.803921568627,218.019607843137,186.176470588235,170.294117647059,208.941176470588,203.803921568627,220.078431372549,202.941176470588,164.843137254902,203.058823529412,153.823529411765,162.470588235294,188.117647058824,185.725490196078,218.21568627451,197.196078431373,213.21568627451,181.509803921569,219.607843137255,161.313725490196,225.450980392157,177.078431372549,142.56862745098,186.980392156863,219.411764705882,215.960784313725,191.705882352941,177.058823529412,193.627450980392,198.882352941176,177.450980392157,169.588235294118,235.509803921569,198.21568627451,215.941176470588,223.21568627451,186.588235294118,181.56862745098,218.450980392157,178.301886792453,156.235294117647,166.941176470588,209.470588235294,188.666666666667,221.941176470588,177.666666666667,171.294117647059,190.039215686275,200.254901960784,188.019607843137,177.725490196078,149.862745098039,160.450980392157,167.529411764706,139.581818181818,224.176470588235,196.725490196078,212.019607843137,185.294117647059,173.725490196078,191.588235294118,198.039215686275,164.882352941176,234.470588235294,169.529411764706,176.411764705882,232.686274509804,207.705882352941,174.764705882353,219.529411764706,164.313725490196,192.117647058824,224.607843137255,165.333333333333,181.666666666667,202.549019607843,152.843137254902,182.274509803922,219.803921568627,179.627450980392,196.254901960784,208.156862745098,210.901960784314,157.823529411765,172.274509803922,168.921568627451,177.549019607843,179.529411764706,192.43137254902,213.254901960784,180.647058823529,162.490196078431,174.607843137255,173.627450980392,181,177.490196078431,193.490196078431,193.254901960784,151.392156862745,166.549019607843,147,166.254901960784,175.980392156863,199.509803921569,170.470588235294,155.156862745098,157.56862745098,171.823529411765,200.803921568627,178.098039215686,193.725490196078,156.235294117647,239.921568627451,187.235294117647,227.725490196078,236.509803921569,206.941176470588,175.019607843137,205.764705882353,241.803921568627,191.235294117647,167.333333333333,217.549019607843,173.928571428571,178.117647058824,194.56862745098,167.882352941176,185.509803921569,153.627450980392,207.803921568627,214.56862745098,185.294117647059,219.156862745098,185.725490196078,192.196078431373,176.627450980392,202.392156862745,200.235294117647,147.490196078431,188.607843137255,221.960784313725,152.725490196078,205.313725490196,185.294117647059,212.627450980392,162.254901960784,212.686274509804,224.254901960784,193.490196078431,186.196078431373,233.254901960784,206.647058823529,171.098039215686,186.078431372549,190.137254901961,167.529411764706,179.333333333333,225.333333333333,148.235294117647,155.313725490196,207.666666666667,180.588235294118,180.313725490196,192.980392156863,203.647058823529,177.156862745098,168.588235294118,212.470588235294,160.21568627451,175.294117647059,199.333333333333,217.196078431373,199.137254901961,158.862745098039,210.196078431373,172.333333333333,173.549019607843,188.235294117647,234.901960784314,165.549019607843,173.470588235294,145.882352941176,201.333333333333,170.686274509804,163.464285714286,202.392156862745,155.313725490196,203.941176470588,204.43137254902,205.019607843137,202.862745098039,202.43137254902,194.549019607843,203.882352941176,188.078431372549,176,217.313725490196,227.372549019608,244.078431372549,209.666666666667,238.509803921569,177.843137254902,167.156862745098,204.745098039216,223.960784313725,231.745098039216,174.686274509804,191.941176470588,174.098039215686,191.098039215686,190.823529411765,215.882352941176,211.843137254902,192.901960784314,164,183.803921568627,198.039215686275,197.098039215686,219.803921568627,187.039215686275,166.764705882353,165.235294117647,208.588235294118,163.058823529412,216.470588235294,211.392156862745,196.705882352941,154.588235294118,172.43137254902,214.156862745098,222.137254901961,167.019607843137,206.509803921569,199.921568627451,168.509803921569,228.254901960784,194.509803921569,169.666666666667,189.450980392157,170.529411764706,156.529411764706,160.666666666667,175.176470588235,207.450980392157,181.627450980392,185.627450980392,174.039215686275,226.137254901961,204.254901960784,226.470588235294,208.823529411765,196.843137254902,182.588235294118,150.333333333333,190.21568627451,194.607843137255,209.56862745098,169.078431372549,206.21568627451,220.960784313725,154.137254901961,183.294117647059,184.78431372549,182.666666666667,181.803921568627,179.588235294118,183.549019607843,189.294117647059,209.235294117647,166.137254901961,209.921568627451,156.56862745098,200.392156862745,145.490196078431,177.196078431373,204.450980392157,179.176470588235,204.176470588235,173.921568627451,179.156862745098,235.21568627451,179.764705882353,174.549019607843,202.509803921569,200.098039215686,177,213.941176470588,203.647058823529,152.235294117647,190.235294117647,187.980392156863,173.705882352941,222.56862745098,187.941176470588,220.705882352941,196.235294117647,216.705882352941,170.607843137255,219.254901960784,171.411764705882,174.392156862745,208.588235294118,194.470588235294,170.764705882353,156.745098039216,187.980392156863,236.019607843137,197.78431372549,226.901960784314,177.313725490196,206,207.078431372549,167.509803921569,174.529411764706,164.156862745098,195.627450980392,179.490196078431,176.392156862745,178.549019607843,173.274509803922,218.862745098039,140.277777777778,155.098039215686,201.058823529412,198.509803921569,213.607843137255,174.725490196078,170.862745098039,202.235294117647,230.078431372549,228.647058823529,180.058823529412,153.882352941176,183.411764705882,191.21568627451,234.372549019608,193.254901960784,176.039215686275,188.843137254902,216.627450980392,223.137254901961,216.843137254902,201.137254901961,169.666666666667,166.254901960784,204.666666666667,221.647058823529,187.725490196078,175.490196078431,177.745098039216,184.294117647059,171.235294117647,162.725490196078,170.78431372549,198.509803921569,215.607843137255,199.411764705882,215.372549019608,192.843137254902,185.803921568627,198.901960784314,186.627450980392,163.156862745098,176.470588235294,164.450980392157,203.43137254902,147.745098039216,218.509803921569,185.176470588235,140.235294117647,192.901960784314,205.411764705882,155.607843137255,181.686274509804,175.019607843137,182.666666666667,218.156862745098,164.156862745098,195.843137254902,176.764705882353,186.039215686275,158.882352941176,216.588235294118,198.941176470588,182.686274509804,165.313725490196,187.960784313725,145.725490196078,222.333333333333,187.372549019608,165.196078431373,165.039215686275,165.529411764706,169,174.058823529412,174.901960784314,173.392156862745,203.333333333333,189.882352941176,167.098039215686,182.882352941176,147.117647058824,159.392156862745,173.490196078431,233.019607843137,165.725490196078,160.156862745098,162.156862745098,180.627450980392,215.117647058824,215.137254901961,184.56862745098,216.470588235294,196.941176470588,226.43137254902,190.980392156863,167.21568627451,179.490196078431,210.411764705882,194.549019607843,139.019607843137,184.823529411765,163.647058823529,183.921568627451,166.196078431373,168.352941176471,168.823529411765,200.392156862745,216.176470588235,165.843137254902,175.294117647059,161.941176470588,179.686274509804,203.274509803922,182.941176470588,156.058823529412,172.235294117647,178.647058823529,225.352941176471,181.294117647059,209.705882352941,163,208.294117647059,182.627450980392,204.901960784314,182.627450980392,169.019607843137,186.450980392157,156.176470588235,215.78431372549,157.294117647059,201.019607843137,173.294117647059,170.740740740741,198.59649122807,208.039215686275,166.078431372549,204.627450980392,194.156862745098,154.78431372549,171.549019607843,164.588235294118,173.56862745098,181.607843137255,177.156862745098,207.274509803922,238.529411764706,206.313725490196,190.509803921569,170.43137254902,172.588235294118,176.058823529412,181.117647058824,184.372549019608,176.156862745098,144.843137254902,157.019607843137,208.235294117647,174.333333333333,195.627450980392,209.882352941176,218.156862745098,197.490196078431,176.882352941176,173.058823529412,227.156862745098,207.862745098039,182.549019607843,172.411764705882,188,226.078431372549,186.980392156863,163.960784313725,211.529411764706,179.941176470588,220,215.705882352941,203.352941176471,163.725490196078,155.078431372549,220.686274509804,150.960784313725,156.352941176471,162.745098039216,206.352941176471,199.078431372549,152.333333333333,177.509803921569,182.078431372549,185.686274509804,172.960784313725,205.960784313725,169.372549019608,197.56862745098,181.294117647059,172.980392156863,158.980392156863,186.56862745098,172.549019607843,160.764705882353,203.450980392157,202.411764705882,198.333333333333,195.039215686275,188.960784313725,214.588235294118,156.745098039216,230.529411764706,169.980392156863,174.137254901961,190.588235294118,173.882352941176,169.117647058824,214.019607843137,167.352941176471,204.294117647059,181.960784313725,158.392156862745,213.823529411765,184.666666666667,207.274509803922,174.43137254902,205.803921568627,224.176470588235,164.372549019608,173.333333333333,199.098039215686,149.313725490196,203.607843137255,193.176470588235,165.588235294118,222.745098039216,242.039215686275,179.294117647059,205.921568627451,199.607843137255,180.490196078431,170.490196078431,188.156862745098,152.745098039216,167.137254901961,166.843137254902,174.372549019608,192.843137254902,195,167.666666666667,193.176470588235,168.725490196078,193.176470588235,166.803921568627,228.254901960784,225.588235294118,205.098039215686,214.686274509804,204.549019607843,198.588235294118,199.274509803922,168.588235294118,166,200.117647058824,206.705882352941,175.666666666667,227.901960784314,224.058823529412,183.21568627451,205.372549019608,184.725490196078,207.803921568627,170.153846153846,216.450980392157,199.078431372549,187.647058823529,167.627450980392,170.254901960784,148.607843137255,182.411764705882,196.941176470588,206.509803921569,203.254901960784,187,183.450980392157,205.058823529412,192.411764705882,158.901960784314,166.098039215686,203.352941176471,199.117647058824,216.941176470588,192.823529411765,208.843137254902,226.235294117647,210.21568627451,148.490196078431,147,181.882352941176,170.764705882353,200.313725490196],"text":["date: 471139200
    value: 199.5
    birth_stat: mean","date: 350265600
    value: 198.0
    birth_stat: mean","date: 85363200
    value: 201.5
    birth_stat: mean","date: 358214400
    value: 163.8
    birth_stat: mean","date: 302572800
    value: 184.8
    birth_stat: mean","date: 369705600
    value: 188.4
    birth_stat: mean","date: 205891200
    value: 156.7
    birth_stat: mean","date: 473817600
    value: 166.2
    birth_stat: mean","date: -6220800
    value: 209.3
    birth_stat: mean","date: 320457600
    value: 191.8
    birth_stat: mean","date: 172454400
    value: 177.2
    birth_stat: mean","date: 12528000
    value: 207.8
    birth_stat: mean","date: 430790400
    value: 181.2
    birth_stat: mean","date: 101952000
    value: 175.8
    birth_stat: mean","date: 156297600
    value: 147.2
    birth_stat: mean","date: 565747200
    value: 166.3
    birth_stat: mean","date: 522806400
    value: 175.7
    birth_stat: mean","date: 595987200
    value: 165.4
    birth_stat: mean","date: 455500800
    value: 207.1
    birth_stat: mean","date: 127440000
    value: 175.3
    birth_stat: mean","date: 598320000
    value: 171.7
    birth_stat: mean","date: 582163200
    value: 217.6
    birth_stat: mean","date: 350697600
    value: 198.3
    birth_stat: mean","date: 197942400
    value: 144.7
    birth_stat: mean","date: 431395200
    value: 179.4
    birth_stat: mean","date: 238636800
    value: 191.6
    birth_stat: mean","date: 420249600
    value: 204.2
    birth_stat: mean","date: 79574400
    value: 181.6
    birth_stat: mean","date: 477792000
    value: 207.5
    birth_stat: mean","date: 370224000
    value: 224.7
    birth_stat: mean","date: 212198400
    value: 192.9
    birth_stat: mean","date: 247622400
    value: 153.8
    birth_stat: mean","date: -6912000
    value: 196.0
    birth_stat: mean","date: 162777600
    value: 176.0
    birth_stat: mean","date: 294969600
    value: 196.2
    birth_stat: mean","date: 359078400
    value: 202.1
    birth_stat: mean","date: 398822400
    value: 178.4
    birth_stat: mean","date: 113443200
    value: 185.2
    birth_stat: mean","date: 35337600
    value: 177.8
    birth_stat: mean","date: 417744000
    value: 212.0
    birth_stat: mean","date: 454032000
    value: 211.4
    birth_stat: mean","date: 297820800
    value: 162.9
    birth_stat: mean","date: 165888000
    value: 148.6
    birth_stat: mean","date: 586656000
    value: 238.4
    birth_stat: mean","date: 308448000
    value: 198.2
    birth_stat: mean","date: 109900800
    value: 178.1
    birth_stat: mean","date: 490579200
    value: 225.2
    birth_stat: mean","date: 368236800
    value: 214.2
    birth_stat: mean","date: 503712000
    value: 215.4
    birth_stat: mean","date: 88300800
    value: 176.6
    birth_stat: mean","date: 598838400
    value: 196.0
    birth_stat: mean","date: 520041600
    value: 216.4
    birth_stat: mean","date: 327542400
    value: 195.8
    birth_stat: mean","date: 323654400
    value: 196.7
    birth_stat: mean","date: 157766400
    value: 137.8
    birth_stat: mean","date: 499996800
    value: 218.0
    birth_stat: mean","date: 175478400
    value: 186.2
    birth_stat: mean","date: 565056000
    value: 170.3
    birth_stat: mean","date: 470275200
    value: 208.9
    birth_stat: mean","date: 378604800
    value: 203.8
    birth_stat: mean","date: 472953600
    value: 220.1
    birth_stat: mean","date: 308275200
    value: 202.9
    birth_stat: mean","date: 210643200
    value: 164.8
    birth_stat: mean","date: 449193600
    value: 203.1
    birth_stat: mean","date: 156211200
    value: 153.8
    birth_stat: mean","date: 546393600
    value: 162.5
    birth_stat: mean","date: 460425600
    value: 188.1
    birth_stat: mean","date: 278553600
    value: 185.7
    birth_stat: mean","date: 572227200
    value: 218.2
    birth_stat: mean","date: 451180800
    value: 197.2
    birth_stat: mean","date: 55468800
    value: 213.2
    birth_stat: mean","date: 214704000
    value: 181.5
    birth_stat: mean","date: 542332800
    value: 219.6
    birth_stat: mean","date: 235440000
    value: 161.3
    birth_stat: mean","date: 363312000
    value: 225.5
    birth_stat: mean","date: 216864000
    value: 177.1
    birth_stat: mean","date: 172022400
    value: 142.6
    birth_stat: mean","date: 432000000
    value: 187.0
    birth_stat: mean","date: 561772800
    value: 219.4
    birth_stat: mean","date: 488419200
    value: 216.0
    birth_stat: mean","date: 277084800
    value: 191.7
    birth_stat: mean","date: 88992000
    value: 177.1
    birth_stat: mean","date: 285552000
    value: 193.6
    birth_stat: mean","date: 84758400
    value: 198.9
    birth_stat: mean","date: 172281600
    value: 177.5
    birth_stat: mean","date: 285033600
    value: 169.6
    birth_stat: mean","date: 526867200
    value: 235.5
    birth_stat: mean","date: 327801600
    value: 198.2
    birth_stat: mean","date: 307238400
    value: 215.9
    birth_stat: mean","date: 20390400
    value: 223.2
    birth_stat: mean","date: 58060800
    value: 186.6
    birth_stat: mean","date: 227491200
    value: 181.6
    birth_stat: mean","date: 569203200
    value: 218.5
    birth_stat: mean","date: 257731200
    value: 178.3
    birth_stat: mean","date: 215481600
    value: 156.2
    birth_stat: mean","date: 381888000
    value: 166.9
    birth_stat: mean","date: 391392000
    value: 209.5
    birth_stat: mean","date: 213926400
    value: 188.7
    birth_stat: mean","date: 579312000
    value: 221.9
    birth_stat: mean","date: 153619200
    value: 177.7
    birth_stat: mean","date: 190512000
    value: 171.3
    birth_stat: mean","date: 62640000
    value: 190.0
    birth_stat: mean","date: 145584000
    value: 200.3
    birth_stat: mean","date: 297648000
    value: 188.0
    birth_stat: mean","date: 96163200
    value: 177.7
    birth_stat: mean","date: 231897600
    value: 149.9
    birth_stat: mean","date: 329270400
    value: 160.5
    birth_stat: mean","date: 467164800
    value: 167.5
    birth_stat: mean","date: 123552000
    value: 139.6
    birth_stat: mean","date: 551404800
    value: 224.2
    birth_stat: mean","date: 468028800
    value: 196.7
    birth_stat: mean","date: 515980800
    value: 212.0
    birth_stat: mean","date: 112320000
    value: 185.3
    birth_stat: mean","date: 260582400
    value: 173.7
    birth_stat: mean","date: 297302400
    value: 191.6
    birth_stat: mean","date: 288576000
    value: 198.0
    birth_stat: mean","date: 87264000
    value: 164.9
    birth_stat: mean","date: 495331200
    value: 234.5
    birth_stat: mean","date: 121564800
    value: 169.5
    birth_stat: mean","date: 171590400
    value: 176.4
    birth_stat: mean","date: 589075200
    value: 232.7
    birth_stat: mean","date: 483926400
    value: 207.7
    birth_stat: mean","date: 100915200
    value: 174.8
    birth_stat: mean","date: 397353600
    value: 219.5
    birth_stat: mean","date: 381283200
    value: 164.3
    birth_stat: mean","date: 298166400
    value: 192.1
    birth_stat: mean","date: 400291200
    value: 224.6
    birth_stat: mean","date: 416361600
    value: 165.3
    birth_stat: mean","date: 179539200
    value: 181.7
    birth_stat: mean","date: 242438400
    value: 202.5
    birth_stat: mean","date: 235526400
    value: 152.8
    birth_stat: mean","date: 256348800
    value: 182.3
    birth_stat: mean","date: 548035200
    value: 219.8
    birth_stat: mean","date: 243302400
    value: 179.6
    birth_stat: mean","date: 312422400
    value: 196.3
    birth_stat: mean","date: -10886400
    value: 208.2
    birth_stat: mean","date: 540604800
    value: 210.9
    birth_stat: mean","date: 234230400
    value: 157.8
    birth_stat: mean","date: 126835200
    value: 172.3
    birth_stat: mean","date: 102902400
    value: 168.9
    birth_stat: mean","date: 163382400
    value: 177.5
    birth_stat: mean","date: 65232000
    value: 179.5
    birth_stat: mean","date: 45446400
    value: 192.4
    birth_stat: mean","date: 513907200
    value: 213.3
    birth_stat: mean","date: 458611200
    value: 180.6
    birth_stat: mean","date: 197856000
    value: 162.5
    birth_stat: mean","date: 98323200
    value: 174.6
    birth_stat: mean","date: 284083200
    value: 173.6
    birth_stat: mean","date: 68860800
    value: 181.0
    birth_stat: mean","date: 88819200
    value: 177.5
    birth_stat: mean","date: 268963200
    value: 193.5
    birth_stat: mean","date: -27993600
    value: 193.3
    birth_stat: mean","date: 452044800
    value: 151.4
    birth_stat: mean","date: 270604800
    value: 166.5
    birth_stat: mean","date: 186537600
    value: 147.0
    birth_stat: mean","date: 413251200
    value: 166.3
    birth_stat: mean","date: 256176000
    value: 176.0
    birth_stat: mean","date: 319766400
    value: 199.5
    birth_stat: mean","date: -28166400
    value: 170.5
    birth_stat: mean","date: 216691200
    value: 155.2
    birth_stat: mean","date: 10540800
    value: 157.6
    birth_stat: mean","date: 510624000
    value: 171.8
    birth_stat: mean","date: 272592000
    value: 200.8
    birth_stat: mean","date: 70502400
    value: 178.1
    birth_stat: mean","date: -16588800
    value: 193.7
    birth_stat: mean","date: 314928000
    value: 156.2
    birth_stat: mean","date: 588297600
    value: 239.9
    birth_stat: mean","date: 205632000
    value: 187.2
    birth_stat: mean","date: 22723200
    value: 227.7
    birth_stat: mean","date: 590025600
    value: 236.5
    birth_stat: mean","date: 481334400
    value: 206.9
    birth_stat: mean","date: 184896000
    value: 175.0
    birth_stat: mean","date: 48297600
    value: 205.8
    birth_stat: mean","date: 590630400
    value: 241.8
    birth_stat: mean","date: 289180800
    value: 191.2
    birth_stat: mean","date: 575424000
    value: 167.3
    birth_stat: mean","date: 332467200
    value: 217.5
    birth_stat: mean","date: 181353600
    value: 173.9
    birth_stat: mean","date: -11232000
    value: 178.1
    birth_stat: mean","date: 141955200
    value: 194.6
    birth_stat: mean","date: 60048000
    value: 167.9
    birth_stat: mean","date: 213494400
    value: 185.5
    birth_stat: mean","date: 599011200
    value: 153.6
    birth_stat: mean","date: 414028800
    value: 207.8
    birth_stat: mean","date: 486259200
    value: 214.6
    birth_stat: mean","date: 260496000
    value: 185.3
    birth_stat: mean","date: 433123200
    value: 219.2
    birth_stat: mean","date: 142473600
    value: 185.7
    birth_stat: mean","date: 33436800
    value: 192.2
    birth_stat: mean","date: 110160000
    value: 176.6
    birth_stat: mean","date: 416016000
    value: 202.4
    birth_stat: mean","date: 240019200
    value: 200.2
    birth_stat: mean","date: 164764800
    value: 147.5
    birth_stat: mean","date: 249609600
    value: 188.6
    birth_stat: mean","date: 594518400
    value: 222.0
    birth_stat: mean","date: 73958400
    value: 152.7
    birth_stat: mean","date: 359683200
    value: 205.3
    birth_stat: mean","date: 219542400
    value: 185.3
    birth_stat: mean","date: 566006400
    value: 212.6
    birth_stat: mean","date: 439257600
    value: 162.3
    birth_stat: mean","date: 546220800
    value: 212.7
    birth_stat: mean","date: 549158400
    value: 224.3
    birth_stat: mean","date: 148262400
    value: 193.5
    birth_stat: mean","date: 87696000
    value: 186.2
    birth_stat: mean","date: 522979200
    value: 233.3
    birth_stat: mean","date: 339638400
    value: 206.6
    birth_stat: mean","date: 381196800
    value: 171.1
    birth_stat: mean","date: 24969600
    value: 186.1
    birth_stat: mean","date: 143164800
    value: 190.1
    birth_stat: mean","date: 324345600
    value: 167.5
    birth_stat: mean","date: 75513600
    value: 179.3
    birth_stat: mean","date: 334540800
    value: 225.3
    birth_stat: mean","date: 194918400
    value: 148.2
    birth_stat: mean","date: 515548800
    value: 155.3
    birth_stat: mean","date: 476064000
    value: 207.7
    birth_stat: mean","date: 232243200
    value: 180.6
    birth_stat: mean","date: -10022400
    value: 180.3
    birth_stat: mean","date: 114134400
    value: 193.0
    birth_stat: mean","date: 275875200
    value: 203.6
    birth_stat: mean","date: 102643200
    value: 177.2
    birth_stat: mean","date: 188784000
    value: 168.6
    birth_stat: mean","date: 18748800
    value: 212.5
    birth_stat: mean","date: 236822400
    value: 160.2
    birth_stat: mean","date: -22809600
    value: 175.3
    birth_stat: mean","date: 449107200
    value: 199.3
    birth_stat: mean","date: 579139200
    value: 217.2
    birth_stat: mean","date: 62899200
    value: 199.1
    birth_stat: mean","date: 61344000
    value: 158.9
    birth_stat: mean","date: 513216000
    value: 210.2
    birth_stat: mean","date: 487123200
    value: 172.3
    birth_stat: mean","date: 126489600
    value: 173.5
    birth_stat: mean","date: 46483200
    value: 188.2
    birth_stat: mean","date: 464832000
    value: 234.9
    birth_stat: mean","date: 343785600
    value: 165.5
    birth_stat: mean","date: 190598400
    value: 173.5
    birth_stat: mean","date: 203472000
    value: 145.9
    birth_stat: mean","date: 320025600
    value: 201.3
    birth_stat: mean","date: 379987200
    value: 170.7
    birth_stat: mean","date: 257558400
    value: 163.5
    birth_stat: mean","date: 345168000
    value: 202.4
    birth_stat: mean","date: 293587200
    value: 155.3
    birth_stat: mean","date: 269740800
    value: 203.9
    birth_stat: mean","date: -1209600
    value: 204.4
    birth_stat: mean","date: 20304000
    value: 205.0
    birth_stat: mean","date: 349401600
    value: 202.9
    birth_stat: mean","date: 270432000
    value: 202.4
    birth_stat: mean","date: 502070400
    value: 194.5
    birth_stat: mean","date: 51753600
    value: 203.9
    birth_stat: mean","date: 292723200
    value: 188.1
    birth_stat: mean","date: 74131200
    value: 176.0
    birth_stat: mean","date: 593913600
    value: 217.3
    birth_stat: mean","date: 401328000
    value: 227.4
    birth_stat: mean","date: 31276800
    value: 244.1
    birth_stat: mean","date: 466819200
    value: 209.7
    birth_stat: mean","date: 585964800
    value: 238.5
    birth_stat: mean","date: 26265600
    value: 177.8
    birth_stat: mean","date: 410832000
    value: 167.2
    birth_stat: mean","date: 33782400
    value: 204.7
    birth_stat: mean","date: 369360000
    value: 224.0
    birth_stat: mean","date: 525398400
    value: 231.7
    birth_stat: mean","date: 107481600
    value: 174.7
    birth_stat: mean","date: 213321600
    value: 191.9
    birth_stat: mean","date: 403056000
    value: 174.1
    birth_stat: mean","date: 39830400
    value: 191.1
    birth_stat: mean","date: 60825600
    value: 190.8
    birth_stat: mean","date: 364780800
    value: 215.9
    birth_stat: mean","date: 34300800
    value: 211.8
    birth_stat: mean","date: 442800000
    value: 192.9
    birth_stat: mean","date: 419385600
    value: 164.0
    birth_stat: mean","date: 395798400
    value: 183.8
    birth_stat: mean","date: 6652800
    value: 198.0
    birth_stat: mean","date: 449798400
    value: 197.1
    birth_stat: mean","date: 31449600
    value: 219.8
    birth_stat: mean","date: 82598400
    value: 187.0
    birth_stat: mean","date: 108000000
    value: 166.8
    birth_stat: mean","date: 375235200
    value: 165.2
    birth_stat: mean","date: -10972800
    value: 208.6
    birth_stat: mean","date: 438480000
    value: 163.1
    birth_stat: mean","date: 572140800
    value: 216.5
    birth_stat: mean","date: 569116800
    value: 211.4
    birth_stat: mean","date: -29203200
    value: 196.7
    birth_stat: mean","date: 87955200
    value: 154.6
    birth_stat: mean","date: 124502400
    value: 172.4
    birth_stat: mean","date: -7776000
    value: 214.2
    birth_stat: mean","date: 578188800
    value: 222.1
    birth_stat: mean","date: 184982400
    value: 167.0
    birth_stat: mean","date: 36201600
    value: 206.5
    birth_stat: mean","date: -14169600
    value: 199.9
    birth_stat: mean","date: 261878400
    value: 168.5
    birth_stat: mean","date: 463622400
    value: 228.3
    birth_stat: mean","date: 310003200
    value: 194.5
    birth_stat: mean","date: 378259200
    value: 169.7
    birth_stat: mean","date: 80870400
    value: 189.5
    birth_stat: mean","date: 77155200
    value: 170.5
    birth_stat: mean","date: 237340800
    value: 156.5
    birth_stat: mean","date: 46224000
    value: 160.7
    birth_stat: mean","date: 89251200
    value: 175.2
    birth_stat: mean","date: 1036800
    value: 207.5
    birth_stat: mean","date: 254361600
    value: 181.6
    birth_stat: mean","date: 558403200
    value: 185.6
    birth_stat: mean","date: 39484800
    value: 174.0
    birth_stat: mean","date: 492307200
    value: 226.1
    birth_stat: mean","date: 403747200
    value: 204.3
    birth_stat: mean","date: 461289600
    value: 226.5
    birth_stat: mean","date: 533952000
    value: 208.8
    birth_stat: mean","date: 345427200
    value: 196.8
    birth_stat: mean","date: 64022400
    value: 182.6
    birth_stat: mean","date: 138067200
    value: 150.3
    birth_stat: mean","date: 290649600
    value: 190.2
    birth_stat: mean","date: 443664000
    value: 194.6
    birth_stat: mean","date: -13824000
    value: 209.6
    birth_stat: mean","date: 196041600
    value: 169.1
    birth_stat: mean","date: 515894400
    value: 206.2
    birth_stat: mean","date: 402192000
    value: 221.0
    birth_stat: mean","date: 236736000
    value: 154.1
    birth_stat: mean","date: 88732800
    value: 183.3
    birth_stat: mean","date: 12268800
    value: 184.8
    birth_stat: mean","date: 217555200
    value: 182.7
    birth_stat: mean","date: 257385600
    value: 181.8
    birth_stat: mean","date: 210211200
    value: 179.6
    birth_stat: mean","date: 335232000
    value: 183.5
    birth_stat: mean","date: 210902400
    value: 189.3
    birth_stat: mean","date: 478310400
    value: 209.2
    birth_stat: mean","date: 314064000
    value: 166.1
    birth_stat: mean","date: 448243200
    value: 209.9
    birth_stat: mean","date: 182217600
    value: 156.6
    birth_stat: mean","date: 39052800
    value: 200.4
    birth_stat: mean","date: 121824000
    value: 145.5
    birth_stat: mean","date: 207792000
    value: 177.2
    birth_stat: mean","date: 448502400
    value: 204.5
    birth_stat: mean","date: -21254400
    value: 179.2
    birth_stat: mean","date: 283737600
    value: 204.2
    birth_stat: mean","date: 269308800
    value: 173.9
    birth_stat: mean","date: 460512000
    value: 179.2
    birth_stat: mean","date: 587779200
    value: 235.2
    birth_stat: mean","date: 575337600
    value: 179.8
    birth_stat: mean","date: 322531200
    value: 174.5
    birth_stat: mean","date: 243820800
    value: 202.5
    birth_stat: mean","date: 384048000
    value: 200.1
    birth_stat: mean","date: 262396800
    value: 177.0
    birth_stat: mean","date: 307670400
    value: 213.9
    birth_stat: mean","date: 51408000
    value: 203.6
    birth_stat: mean","date: 262656000
    value: 152.2
    birth_stat: mean","date: 112924800
    value: 190.2
    birth_stat: mean","date: 178502400
    value: 188.0
    birth_stat: mean","date: 262483200
    value: 173.7
    birth_stat: mean","date: 555120000
    value: 222.6
    birth_stat: mean","date: 258076800
    value: 187.9
    birth_stat: mean","date: 365990400
    value: 220.7
    birth_stat: mean","date: -27907200
    value: 196.2
    birth_stat: mean","date: 17884800
    value: 216.7
    birth_stat: mean","date: 576547200
    value: 170.6
    birth_stat: mean","date: 27648000
    value: 219.3
    birth_stat: mean","date: 171072000
    value: 171.4
    birth_stat: mean","date: 403574400
    value: 174.4
    birth_stat: mean","date: 507513600
    value: 208.6
    birth_stat: mean","date: -6652800
    value: 194.5
    birth_stat: mean","date: 424742400
    value: 170.8
    birth_stat: mean","date: 189388800
    value: 156.7
    birth_stat: mean","date: 205718400
    value: 188.0
    birth_stat: mean","date: 591235200
    value: 236.0
    birth_stat: mean","date: 379296000
    value: 197.8
    birth_stat: mean","date: 522028800
    value: 226.9
    birth_stat: mean","date: 169862400
    value: 177.3
    birth_stat: mean","date: 468547200
    value: 206.0
    birth_stat: mean","date: 456969600
    value: 207.1
    birth_stat: mean","date: 560908800
    value: 167.5
    birth_stat: mean","date: 165715200
    value: 174.5
    birth_stat: mean","date: 286243200
    value: 164.2
    birth_stat: mean","date: 445478400
    value: 195.6
    birth_stat: mean","date: 255744000
    value: 179.5
    birth_stat: mean","date: 486432000
    value: 176.4
    birth_stat: mean","date: 263174400
    value: 178.5
    birth_stat: mean","date: 542678400
    value: 173.3
    birth_stat: mean","date: 462153600
    value: 218.9
    birth_stat: mean","date: 155088000
    value: 140.3
    birth_stat: mean","date: 110592000
    value: 155.1
    birth_stat: mean","date: 415238400
    value: 201.1
    birth_stat: mean","date: 13046400
    value: 198.5
    birth_stat: mean","date: 368323200
    value: 213.6
    birth_stat: mean","date: 187228800
    value: 174.7
    birth_stat: mean","date: 119664000
    value: 170.9
    birth_stat: mean","date: 475113600
    value: 202.2
    birth_stat: mean","date: 557452800
    value: 230.1
    birth_stat: mean","date: 458265600
    value: 228.6
    birth_stat: mean","date: 214012800
    value: 180.1
    birth_stat: mean","date: 101779200
    value: 153.9
    birth_stat: mean","date: 368496000
    value: 183.4
    birth_stat: mean","date: 41817600
    value: 191.2
    birth_stat: mean","date: 584841600
    value: 234.4
    birth_stat: mean","date: 280108800
    value: 193.3
    birth_stat: mean","date: -691200
    value: 176.0
    birth_stat: mean","date: 86832000
    value: 188.8
    birth_stat: mean","date: 339379200
    value: 216.6
    birth_stat: mean","date: 561686400
    value: 223.1
    birth_stat: mean","date: 367027200
    value: 216.8
    birth_stat: mean","date: 50284800
    value: 201.1
    birth_stat: mean","date: 197078400
    value: 169.7
    birth_stat: mean","date: 470707200
    value: 166.3
    birth_stat: mean","date: 37929600
    value: 204.7
    birth_stat: mean","date: 22118400
    value: 221.6
    birth_stat: mean","date: 144028800
    value: 187.7
    birth_stat: mean","date: 594172800
    value: 175.5
    birth_stat: mean","date: 207964800
    value: 177.7
    birth_stat: mean","date: 113097600
    value: 184.3
    birth_stat: mean","date: 594777600
    value: 171.2
    birth_stat: mean","date: 568771200
    value: 162.7
    birth_stat: mean","date: 529977600
    value: 170.8
    birth_stat: mean","date: 1555200
    value: 198.5
    birth_stat: mean","date: 33696000
    value: 215.6
    birth_stat: mean","date: 34473600
    value: 199.4
    birth_stat: mean","date: 500601600
    value: 215.4
    birth_stat: mean","date: 86227200
    value: 192.8
    birth_stat: mean","date: 210384000
    value: 185.8
    birth_stat: mean","date: 189129600
    value: 198.9
    birth_stat: mean","date: 294278400
    value: 186.6
    birth_stat: mean","date: 105235200
    value: 163.2
    birth_stat: mean","date: 164246400
    value: 176.5
    birth_stat: mean","date: 511920000
    value: 164.5
    birth_stat: mean","date: 382924800
    value: 203.4
    birth_stat: mean","date: 71625600
    value: 147.7
    birth_stat: mean","date: 512092800
    value: 218.5
    birth_stat: mean","date: 398131200
    value: 185.2
    birth_stat: mean","date: 262742400
    value: 140.2
    birth_stat: mean","date: -18230400
    value: 192.9
    birth_stat: mean","date: 422841600
    value: 205.4
    birth_stat: mean","date: 67392000
    value: 155.6
    birth_stat: mean","date: 25660800
    value: 181.7
    birth_stat: mean","date: 5702400
    value: 175.0
    birth_stat: mean","date: 254102400
    value: 182.7
    birth_stat: mean","date: 333763200
    value: 218.2
    birth_stat: mean","date: 104371200
    value: 164.2
    birth_stat: mean","date: -28684800
    value: 195.8
    birth_stat: mean","date: 215827200
    value: 176.8
    birth_stat: mean","date: 258940800
    value: 186.0
    birth_stat: mean","date: 154396800
    value: 158.9
    birth_stat: mean","date: 562550400
    value: 216.6
    birth_stat: mean","date: 323395200
    value: 198.9
    birth_stat: mean","date: 263520000
    value: 182.7
    birth_stat: mean","date: 99964800
    value: 165.3
    birth_stat: mean","date: 36460800
    value: 188.0
    birth_stat: mean","date: 129081600
    value: 145.7
    birth_stat: mean","date: 465696000
    value: 222.3
    birth_stat: mean","date: 187920000
    value: 187.4
    birth_stat: mean","date: 278380800
    value: 165.2
    birth_stat: mean","date: 189907200
    value: 165.0
    birth_stat: mean","date: 499824000
    value: 165.5
    birth_stat: mean","date: 261187200
    value: 169.0
    birth_stat: mean","date: 97459200
    value: 174.1
    birth_stat: mean","date: 392083200
    value: 174.9
    birth_stat: mean","date: 103248000
    value: 173.4
    birth_stat: mean","date: 275270400
    value: 203.3
    birth_stat: mean","date: 227232000
    value: 189.9
    birth_stat: mean","date: 380073600
    value: 167.1
    birth_stat: mean","date: 143856000
    value: 182.9
    birth_stat: mean","date: 250646400
    value: 147.1
    birth_stat: mean","date: 173145600
    value: 159.4
    birth_stat: mean","date: 31536000
    value: 173.5
    birth_stat: mean","date: 526262400
    value: 233.0
    birth_stat: mean","date: 597801600
    value: 165.7
    birth_stat: mean","date: 222739200
    value: 160.2
    birth_stat: mean","date: 561513600
    value: 162.2
    birth_stat: mean","date: 182131200
    value: 180.6
    birth_stat: mean","date: 422582400
    value: 215.1
    birth_stat: mean","date: 595641600
    value: 215.1
    birth_stat: mean","date: 232761600
    value: 184.6
    birth_stat: mean","date: 427420800
    value: 216.5
    birth_stat: mean","date: 12009600
    value: 196.9
    birth_stat: mean","date: 551664000
    value: 226.4
    birth_stat: mean","date: 367286400
    value: 191.0
    birth_stat: mean","date: 407289600
    value: 167.2
    birth_stat: mean","date: -18662400
    value: 179.5
    birth_stat: mean","date: 393120000
    value: 210.4
    birth_stat: mean","date: 57542400
    value: 194.5
    birth_stat: mean","date: 199843200
    value: 139.0
    birth_stat: mean","date: 254448000
    value: 184.8
    birth_stat: mean","date: 126921600
    value: 163.6
    birth_stat: mean","date: 81561600
    value: 183.9
    birth_stat: mean","date: 564537600
    value: 166.2
    birth_stat: mean","date: -6393600
    value: 168.4
    birth_stat: mean","date: 163900800
    value: 168.8
    birth_stat: mean","date: -17539200
    value: 200.4
    birth_stat: mean","date: 428284800
    value: 216.2
    birth_stat: mean","date: 354067200
    value: 165.8
    birth_stat: mean","date: 427248000
    value: 175.3
    birth_stat: mean","date: 536716800
    value: 161.9
    birth_stat: mean","date: 259545600
    value: 179.7
    birth_stat: mean","date: 383443200
    value: 203.3
    birth_stat: mean","date: 82339200
    value: 182.9
    birth_stat: mean","date: 172540800
    value: 156.1
    birth_stat: mean","date: 6912000
    value: 172.2
    birth_stat: mean","date: 520905600
    value: 178.6
    birth_stat: mean","date: 554688000
    value: 225.4
    birth_stat: mean","date: 222912000
    value: 181.3
    birth_stat: mean","date: 500083200
    value: 209.7
    birth_stat: mean","date: 213753600
    value: 163.0
    birth_stat: mean","date: 544060800
    value: 208.3
    birth_stat: mean","date: 232329600
    value: 182.6
    birth_stat: mean","date: -9763200
    value: 204.9
    birth_stat: mean","date: 35251200
    value: 182.6
    birth_stat: mean","date: 128822400
    value: 169.0
    birth_stat: mean","date: 125798400
    value: 186.5
    birth_stat: mean","date: 256089600
    value: 156.2
    birth_stat: mean","date: 336182400
    value: 215.8
    birth_stat: mean","date: 96940800
    value: 157.3
    birth_stat: mean","date: 319161600
    value: 201.0
    birth_stat: mean","date: 154569600
    value: 173.3
    birth_stat: mean","date: 141868800
    value: 170.7
    birth_stat: mean","date: 5270400
    value: 198.6
    birth_stat: mean","date: 414892800
    value: 208.0
    birth_stat: mean","date: 144720000
    value: 166.1
    birth_stat: mean","date: 468201600
    value: 204.6
    birth_stat: mean","date: 92966400
    value: 194.2
    birth_stat: mean","date: 203385600
    value: 154.8
    birth_stat: mean","date: 202521600
    value: 171.5
    birth_stat: mean","date: -25747200
    value: 164.6
    birth_stat: mean","date: 52876800
    value: 173.6
    birth_stat: mean","date: 255830400
    value: 181.6
    birth_stat: mean","date: 135907200
    value: 177.2
    birth_stat: mean","date: 390441600
    value: 207.3
    birth_stat: mean","date: 583459200
    value: 238.5
    birth_stat: mean","date: 361756800
    value: 206.3
    birth_stat: mean","date: 319680000
    value: 190.5
    birth_stat: mean","date: 128217600
    value: 170.4
    birth_stat: mean","date: 203126400
    value: 172.6
    birth_stat: mean","date: 346464000
    value: 176.1
    birth_stat: mean","date: 234748800
    value: 181.1
    birth_stat: mean","date: 215136000
    value: 184.4
    birth_stat: mean","date: 162086400
    value: 176.2
    birth_stat: mean","date: 162950400
    value: 144.8
    birth_stat: mean","date: -23328000
    value: 157.0
    birth_stat: mean","date: 386899200
    value: 208.2
    birth_stat: mean","date: 103939200
    value: 174.3
    birth_stat: mean","date: 211593600
    value: 195.6
    birth_stat: mean","date: 51840000
    value: 209.9
    birth_stat: mean","date: 27907200
    value: 218.2
    birth_stat: mean","date: 282268800
    value: 197.5
    birth_stat: mean","date: 506995200
    value: 176.9
    birth_stat: mean","date: 193449600
    value: 173.1
    birth_stat: mean","date: 556156800
    value: 227.2
    birth_stat: mean","date: 533174400
    value: 207.9
    birth_stat: mean","date: 42249600
    value: 182.5
    birth_stat: mean","date: 138240000
    value: 172.4
    birth_stat: mean","date: -18144000
    value: 188.0
    birth_stat: mean","date: 552700800
    value: 226.1
    birth_stat: mean","date: 125020800
    value: 187.0
    birth_stat: mean","date: 45014400
    value: 164.0
    birth_stat: mean","date: 52704000
    value: 211.5
    birth_stat: mean","date: 124675200
    value: 179.9
    birth_stat: mean","date: 29462400
    value: 220.0
    birth_stat: mean","date: 572572800
    value: 215.7
    birth_stat: mean","date: 423705600
    value: 203.4
    birth_stat: mean","date: 67305600
    value: 163.7
    birth_stat: mean","date: 147225600
    value: 155.1
    birth_stat: mean","date: 543196800
    value: 220.7
    birth_stat: mean","date: 106617600
    value: 151.0
    birth_stat: mean","date: 439344000
    value: 156.4
    birth_stat: mean","date: 469584000
    value: 162.7
    birth_stat: mean","date: 416707200
    value: 206.4
    birth_stat: mean","date: 146188800
    value: 199.1
    birth_stat: mean","date: 228268800
    value: 152.3
    birth_stat: mean","date: 252806400
    value: 177.5
    birth_stat: mean","date: 181526400
    value: 182.1
    birth_stat: mean","date: 1987200
    value: 185.7
    birth_stat: mean","date: 536025600
    value: 173.0
    birth_stat: mean","date: 315100800
    value: 206.0
    birth_stat: mean","date: 360720000
    value: 169.4
    birth_stat: mean","date: 12441600
    value: 197.6
    birth_stat: mean","date: 69465600
    value: 181.3
    birth_stat: mean","date: 185068800
    value: 173.0
    birth_stat: mean","date: 232416000
    value: 159.0
    birth_stat: mean","date: 278208000
    value: 186.6
    birth_stat: mean","date: -16070400
    value: 172.5
    birth_stat: mean","date: 453254400
    value: 160.8
    birth_stat: mean","date: 269568000
    value: 203.5
    birth_stat: mean","date: 324000000
    value: 202.4
    birth_stat: mean","date: 355708800
    value: 198.3
    birth_stat: mean","date: 410745600
    value: 195.0
    birth_stat: mean","date: 265334400
    value: 189.0
    birth_stat: mean","date: 571017600
    value: 214.6
    birth_stat: mean","date: 116985600
    value: 156.7
    birth_stat: mean","date: 527299200
    value: 230.5
    birth_stat: mean","date: 340761600
    value: 170.0
    birth_stat: mean","date: 70675200
    value: 174.1
    birth_stat: mean","date: 46310400
    value: 190.6
    birth_stat: mean","date: 12873600
    value: 173.9
    birth_stat: mean","date: 108864000
    value: 169.1
    birth_stat: mean","date: 543715200
    value: 214.0
    birth_stat: mean","date: 502761600
    value: 167.4
    birth_stat: mean","date: 348278400
    value: 204.3
    birth_stat: mean","date: 32227200
    value: 182.0
    birth_stat: mean","date: 264470400
    value: 158.4
    birth_stat: mean","date: 371433600
    value: 213.8
    birth_stat: mean","date: 113702400
    value: 184.7
    birth_stat: mean","date: 304300800
    value: 207.3
    birth_stat: mean","date: 98409600
    value: 174.4
    birth_stat: mean","date: 343958400
    value: 205.8
    birth_stat: mean","date: 366595200
    value: 224.2
    birth_stat: mean","date: 573609600
    value: 164.4
    birth_stat: mean","date: 163296000
    value: 173.3
    birth_stat: mean","date: 411868800
    value: 199.1
    birth_stat: mean","date: 292982400
    value: 149.3
    birth_stat: mean","date: 274060800
    value: 203.6
    birth_stat: mean","date: 345600
    value: 193.2
    birth_stat: mean","date: 280195200
    value: 165.6
    birth_stat: mean","date: 488764800
    value: 222.7
    birth_stat: mean","date: 585878400
    value: 242.0
    birth_stat: mean","date: 230428800
    value: 179.3
    birth_stat: mean","date: 362620800
    value: 205.9
    birth_stat: mean","date: 56332800
    value: 199.6
    birth_stat: mean","date: 234576000
    value: 180.5
    birth_stat: mean","date: 270518400
    value: 170.5
    birth_stat: mean","date: 526953600
    value: 188.2
    birth_stat: mean","date: 91584000
    value: 152.7
    birth_stat: mean","date: 416966400
    value: 167.1
    birth_stat: mean","date: 81820800
    value: 166.8
    birth_stat: mean","date: 191116800
    value: 174.4
    birth_stat: mean","date: 296784000
    value: 192.8
    birth_stat: mean","date: 276307200
    value: 195.0
    birth_stat: mean","date: 168739200
    value: 167.7
    birth_stat: mean","date: 240451200
    value: 193.2
    birth_stat: mean","date: 390873600
    value: 168.7
    birth_stat: mean","date: -17452800
    value: 193.2
    birth_stat: mean","date: 120355200
    value: 166.8
    birth_stat: mean","date: 585792000
    value: 228.3
    birth_stat: mean","date: 399600000
    value: 225.6
    birth_stat: mean","date: 271382400
    value: 205.1
    birth_stat: mean","date: 569721600
    value: 214.7
    birth_stat: mean","date: 404092800
    value: 204.5
    birth_stat: mean","date: 238723200
    value: 198.6
    birth_stat: mean","date: 271468800
    value: 199.3
    birth_stat: mean","date: 360115200
    value: 168.6
    birth_stat: mean","date: 179193600
    value: 166.0
    birth_stat: mean","date: 505958400
    value: 200.1
    birth_stat: mean","date: 2764800
    value: 206.7
    birth_stat: mean","date: 96768000
    value: 175.7
    birth_stat: mean","date: 495072000
    value: 227.9
    birth_stat: mean","date: 551577600
    value: 224.1
    birth_stat: mean","date: 234057600
    value: 183.2
    birth_stat: mean","date: -29808000
    value: 205.4
    birth_stat: mean","date: 522115200
    value: 184.7
    birth_stat: mean","date: -9849600
    value: 207.8
    birth_stat: mean","date: 105062400
    value: 170.2
    birth_stat: mean","date: 336873600
    value: 216.5
    birth_stat: mean","date: 86313600
    value: 199.1
    birth_stat: mean","date: 180576000
    value: 187.6
    birth_stat: mean","date: 106444800
    value: 167.6
    birth_stat: mean","date: 599097600
    value: 170.3
    birth_stat: mean","date: 104198400
    value: 148.6
    birth_stat: mean","date: 259891200
    value: 182.4
    birth_stat: mean","date: 31795200
    value: 196.9
    birth_stat: mean","date: 382752000
    value: 206.5
    birth_stat: mean","date: 360547200
    value: 203.3
    birth_stat: mean","date: 258681600
    value: 187.0
    birth_stat: mean","date: 226713600
    value: 183.5
    birth_stat: mean","date: 467942400
    value: 205.1
    birth_stat: mean","date: 465264000
    value: 192.4
    birth_stat: mean","date: 282096000
    value: 158.9
    birth_stat: mean","date: 508291200
    value: 166.1
    birth_stat: mean","date: 419644800
    value: 203.4
    birth_stat: mean","date: 325814400
    value: 199.1
    birth_stat: mean","date: 364608000
    value: 216.9
    birth_stat: mean","date: -30499200
    value: 192.8
    birth_stat: mean","date: 510364800
    value: 208.8
    birth_stat: mean","date: 401932800
    value: 226.2
    birth_stat: mean","date: 501120000
    value: 210.2
    birth_stat: mean","date: 254275200
    value: 148.5
    birth_stat: mean","date: 294192000
    value: 147.0
    birth_stat: mean","date: 549331200
    value: 181.9
    birth_stat: mean","date: 383097600
    value: 170.8
    birth_stat: mean","date: 386208000
    value: 200.3
    birth_stat: mean"],"type":"scatter","mode":"markers","marker":{"autocolorscale":false,"color":"rgba(0,186,56,1)","opacity":1,"size":5.66929133858268,"symbol":"circle","line":{"width":1.88976377952756,"color":"rgba(0,186,56,1)"}},"hoveron":"points","name":"mean","legendgroup":"mean","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null},{"x":[41817600,421804800,588038400,528076800,64108800,278985600,56246400,569980800,67564800,60393600,-19180800,248832000,470880000,270432000,114652800,560131200,382406400,338256000,238982400,239587200,164851200,316742400,587433600,105494400,203990400,566092800,240624000,-22723200,-8467200,236131200,73094400,157248000,91843200,548294400,195523200,110332800,477532800,571276800,2937600,531100800,238118400,465350400,9244800,149990400,177724800,542678400,249264000,191808000,299548800,458611200,419299200,546998400,462758400,392688000,327024000,292377600,468892800,188524800,493084800,384998400,189302400,278208000,332985600,175910400,113616000,-28425600,521683200,72403200,52012800,547430400,474076800,282355200,365299200,67219200,445564800,306806400,310003200,392860800,555120000,-25401600,293328000,294796800,120268800,-12182400,38793600,520128000,67996800,376617600,141868800,185155200,420336000,114393600,139968000,198547200,218246400,466905600,244944000,270086400,34992000,317606400,497664000,51062400,229564800,322876800,34560000,284256000,595468800,257126400,199152000,37843200,84844800,261100800,-2332800,502934400,577324800,94176000,81993600,15379200,162432000,422668800,347760000,53568000,597456000,211766400,25228800,243043200,116553600,216172800,430358400,200966400,150595200,383702400,119318400,255225600,136771200,387072000,558057600,280108800,-15120000,564019200,-9158400,562032000,25574400,1296000,221184000,256089600,144633600,293155200,568512000,-23068800,90633600,40262400,335577600,231984000,266457600,468460800,122083200,17193600,157939200,23932800,556934400,409190400,456624000,218505600,155520000,219628800,191203200,73008000,144806400,259372800,426816000,267235200,75945600,187833600,140486400,294019200,362620800,554688000,564451200,210902400,81216000,322272000,201139200,531792000,339292800,516499200,-18489600,54518400,457747200,21254400,485654400,71971200,543801600,37497600,374716800,393379200,43200000,545270400,525312000,108777600,305856000,568425600,89942400,-20822400,529200000,436492800,102643200,310348800,357004800,538272000,531964800,221097600,249091200,36892800,166924800,-17193600,62553600,-25574400,318384000,328924800,84067200,490320000,329702400,479692800,505008000,230515200,19267200,168048000,565315200,596160000,579052800,2073600,58060800,380073600,417398400,20044800,482025600,-7948800,416707200,14774400,569721600,295833600,304646400,258076800,108000000,282960000,432864000,265161600,45446400,118800000,267667200,434505600,114912000,362707200,205200000,577238400,524880000,113443200,309916800,139881600,127526400,111196800,442540800,395884800,129513600,340588800,-24710400,329443200,452217600,35337600,201571200,573177600,245548800,345254400,145411200,132364800,156902400,370137600,209520000,496972800,119836800,199929600,469929600,169862400,282441600,478224000,-27388800,572227200,-28166400,-17971200,43113600,-11923200,333244800,-26697600,347500800,5875200,67392000,387849600,257817600,229305600,200275200,129168000,510105600,-22636800,595641600,60566400,228441600,484876800,103593600,227577600,163555200,232588800,568684800,393292800,415238400,285465600,597974400,139536000,247449600,113961600,443318400,175996800,82252800,164073600,90720000,551750400,500428800,409968000,222480000,-10195200,137808000,467510400,-13651200,314064000,122256000,445132800,597369600,58233600,321408000,291513600,130118400,459475200,486691200,296438400,574819200,29808000,248659200,382233600,519350400,261360000,62208000,273888000,404697600,184204800,502416000,-18403200,262656000,445219200,241920000,72489600,387331200,204422400,301449600,135216000,63504000,340934400,294883200,170035200,452304000,62121600,248140800,20304000,33523200,-6739200,487036800,590284800,250473600,81043200,189648000,510796800,578880000,76377600,488160000,97286400,27388800,578016000,570412800,219369600,59616000,66441600,120960000,521337600,93312000,277948800,28166400,353203200,13737600,569376000,155692800,556675200,495936000,26352000,136857600,30153600,435456000,489110400,541987200,592272000,134524800,547776000,73440000,388281600,348019200,464140800,289785600,20995200,55641600,175824000,56073600,591494400,50284800,233884800,240796800,39225600,243388800,24364800,548380800,544147200,400377600,-8899200,547171200,202521600,11923200,194313600,249436800,1900800,225417600,48470400,271123200,255744000,406080000,115344000,112665600,229046400,574041600,126835200,572832000,1641600,219110400,414633600,276825600,483408000,334454400,373766400,377308800,325987200,344044800,385344000,458352000,170985600,539136000,270000000,326246400,11577600,485395200,7171200,159840000,213321600,52272000,332812800,22464000,18489600,542419200,225072000,-5097600,4147200,19008000,178934400,314150400,553824000,129600000,551059200,166320000,560476800,-24019200,510883200,81302400,123465600,70070400,555465600,41299200,122601600,592963200,524361600,156988800,14428800,564105600,415411200,482630400,20217600,53136000,76204800,210384000,130982400,340848000,316051200,394416000,-16588800,64195200,177379200,173145600,494812800,314323200,484012800,-27302400,347328000,488073600,137894400,154828800,333072000,418348800,109555200,61862400,330393600,207532800,206323200,90547200,558144000,567302400,456192000,309484800,50630400,239500800,543196800,92102400,415324800,269395200,340416000,328320000,587779200,412300800,200534400,168998400,78537600,283478400,354326400,419385600,569635200,433555200,31017600,320371200,349574400,418694400,451958400,514080000,545011200,443836800,-3456000,285379200,100137600,-2073600,455500800,170208000,552441600,368841600,226627200,126316800,442886400,78969600,38448000,336960000,330307200,426902400,92275200,196128000,226972800,164419200,360806400,334022400,477360000,27993600,172800,389923200,360201600,17280000,197510400,458697600,385603200,189475200,339984000,266976000,387244800,181958400,-25488000,271296000,348192000,327801600,310435200,90806400,571622400,67478400,229651200,440899200,191721600,487209600,73699200,436924800,535593600,528595200,85276800,66700800,251769600,243475200,329097600,174009600,363398400,9158400,517276800,95990400,121737600,348451200,109123200,317174400,55814400,475459200,187228800,421372800,45014400,294105600,166492800,503539200,455068800,174700800,532828800,243820800,507168000,250646400,528768000,507081600,287625600,171158400,131587200,563587200,535766400,65836800,257385600,281059200,3369600],"y":[20,19,17,22,18,16,16,15,20,2,16,10,23,16,14,18,16,16,15,16,14,21,19,7,16,18,22,14,12,10,13,14,14,22,15,2,19,20,16,22,22,15,14,14,18,18,10,15,19,11,19,17,20,16,21,17,14,12,19,20,12,21,26,18,16,14,25,12,10,21,17,19,22,14,22,17,16,20,20,12,13,14,6,18,10,23,10,20,1,12,14,10,16,14,1,20,18,16,8,18,27,6,18,17,18,15,21,18,14,12,12,14,14,18,22,12,18,8,14,18,13,18,19,20,20,10,12,10,16,17,12,11,14,18,10,21,22,23,14,16,14,15,18,18,10,12,20,16,20,16,16,10,21,18,12,14,14,6,13,14,13,21,22,13,19,17,10,17,8,9,22,24,14,18,7,18,23,22,10,15,16,20,14,13,25,21,8,12,20,22,20,12,20,22,21,22,14,21,27,8,16,20,10,16,19,26,14,15,17,17,18,16,21,16,14,18,12,12,18,26,14,21,21,20,21,10,16,10,16,23,14,16,20,18,22,20,21,2,25,20,13,22,20,22,17,17,21,10,16,4,18,12,16,19,13,10,21,16,18,10,8,14,20,26,12,22,12,22,24,16,12,19,16,20,12,10,8,17,16,20,15,17,14,18,17,21,14,15,12,14,4,14,16,12,24,14,8,16,19,18,22,12,14,20,19,10,14,23,6,12,6,14,8,21,19,24,20,16,15,10,19,10,16,18,14,12,15,24,20,12,17,22,12,15,14,23,19,12,12,22,14,22,20,23,15,12,18,24,20,18,16,14,23,12,27,18,13,24,20,14,18,14,20,14,8,21,20,23,22,10,13,16,12,14,18,22,16,14,16,20,15,10,25,14,10,17,20,22,24,12,14,21,12,14,12,22,16,9,8,19,25,18,8,18,22,25,20,17,14,21,14,22,15,17,19,12,14,22,20,21,10,22,19,12,20,14,21,17,25,14,26,16,8,16,12,20,22,16,13,16,19,16,16,16,20,10,14,10,13,22,20,21,22,11,21,24,23,18,16,12,11,16,17,20,23,12,12,20,12,24,14,24,24,16,4,4,8,16,14,24,11,21,8,13,6,23,14,14,6,12,14,8,17,25,10,18,16,17,23,8,16,16,18,14,20,18,20,14,10,12,17,26,19,16,14,10,24,18,14,16,20,8,10,18,16,15,12,17,14,10,21,12,18,18,18,16,14,18,21,15,20,12,14,12,14,20,20,17,29,12,22,24,18,21,25,23,18,12,16,16,18,24,18,18,19,20,14,14,18,18,22,19,20,14,14,14,14,23,10,15,12,16,20,16,22,14,15,19,12,19,13,14,16,12,23,21,17,15,18,15,18,18,14,15,25,14,15,22,26,16,16,14,10,23,22,22,10,14,14,13,24,5,17,14,18,5,23,10,15,14,19,21,14,15,13,20,9,15,14,15,15,16,20,9,19,22,19,12],"text":["date: 41817600
    value: 20.0
    birth_stat: min","date: 421804800
    value: 19.0
    birth_stat: min","date: 588038400
    value: 17.0
    birth_stat: min","date: 528076800
    value: 22.0
    birth_stat: min","date: 64108800
    value: 18.0
    birth_stat: min","date: 278985600
    value: 16.0
    birth_stat: min","date: 56246400
    value: 16.0
    birth_stat: min","date: 569980800
    value: 15.0
    birth_stat: min","date: 67564800
    value: 20.0
    birth_stat: min","date: 60393600
    value: 2.0
    birth_stat: min","date: -19180800
    value: 16.0
    birth_stat: min","date: 248832000
    value: 10.0
    birth_stat: min","date: 470880000
    value: 23.0
    birth_stat: min","date: 270432000
    value: 16.0
    birth_stat: min","date: 114652800
    value: 14.0
    birth_stat: min","date: 560131200
    value: 18.0
    birth_stat: min","date: 382406400
    value: 16.0
    birth_stat: min","date: 338256000
    value: 16.0
    birth_stat: min","date: 238982400
    value: 15.0
    birth_stat: min","date: 239587200
    value: 16.0
    birth_stat: min","date: 164851200
    value: 14.0
    birth_stat: min","date: 316742400
    value: 21.0
    birth_stat: min","date: 587433600
    value: 19.0
    birth_stat: min","date: 105494400
    value: 7.0
    birth_stat: min","date: 203990400
    value: 16.0
    birth_stat: min","date: 566092800
    value: 18.0
    birth_stat: min","date: 240624000
    value: 22.0
    birth_stat: min","date: -22723200
    value: 14.0
    birth_stat: min","date: -8467200
    value: 12.0
    birth_stat: min","date: 236131200
    value: 10.0
    birth_stat: min","date: 73094400
    value: 13.0
    birth_stat: min","date: 157248000
    value: 14.0
    birth_stat: min","date: 91843200
    value: 14.0
    birth_stat: min","date: 548294400
    value: 22.0
    birth_stat: min","date: 195523200
    value: 15.0
    birth_stat: min","date: 110332800
    value: 2.0
    birth_stat: min","date: 477532800
    value: 19.0
    birth_stat: min","date: 571276800
    value: 20.0
    birth_stat: min","date: 2937600
    value: 16.0
    birth_stat: min","date: 531100800
    value: 22.0
    birth_stat: min","date: 238118400
    value: 22.0
    birth_stat: min","date: 465350400
    value: 15.0
    birth_stat: min","date: 9244800
    value: 14.0
    birth_stat: min","date: 149990400
    value: 14.0
    birth_stat: min","date: 177724800
    value: 18.0
    birth_stat: min","date: 542678400
    value: 18.0
    birth_stat: min","date: 249264000
    value: 10.0
    birth_stat: min","date: 191808000
    value: 15.0
    birth_stat: min","date: 299548800
    value: 19.0
    birth_stat: min","date: 458611200
    value: 11.0
    birth_stat: min","date: 419299200
    value: 19.0
    birth_stat: min","date: 546998400
    value: 17.0
    birth_stat: min","date: 462758400
    value: 20.0
    birth_stat: min","date: 392688000
    value: 16.0
    birth_stat: min","date: 327024000
    value: 21.0
    birth_stat: min","date: 292377600
    value: 17.0
    birth_stat: min","date: 468892800
    value: 14.0
    birth_stat: min","date: 188524800
    value: 12.0
    birth_stat: min","date: 493084800
    value: 19.0
    birth_stat: min","date: 384998400
    value: 20.0
    birth_stat: min","date: 189302400
    value: 12.0
    birth_stat: min","date: 278208000
    value: 21.0
    birth_stat: min","date: 332985600
    value: 26.0
    birth_stat: min","date: 175910400
    value: 18.0
    birth_stat: min","date: 113616000
    value: 16.0
    birth_stat: min","date: -28425600
    value: 14.0
    birth_stat: min","date: 521683200
    value: 25.0
    birth_stat: min","date: 72403200
    value: 12.0
    birth_stat: min","date: 52012800
    value: 10.0
    birth_stat: min","date: 547430400
    value: 21.0
    birth_stat: min","date: 474076800
    value: 17.0
    birth_stat: min","date: 282355200
    value: 19.0
    birth_stat: min","date: 365299200
    value: 22.0
    birth_stat: min","date: 67219200
    value: 14.0
    birth_stat: min","date: 445564800
    value: 22.0
    birth_stat: min","date: 306806400
    value: 17.0
    birth_stat: min","date: 310003200
    value: 16.0
    birth_stat: min","date: 392860800
    value: 20.0
    birth_stat: min","date: 555120000
    value: 20.0
    birth_stat: min","date: -25401600
    value: 12.0
    birth_stat: min","date: 293328000
    value: 13.0
    birth_stat: min","date: 294796800
    value: 14.0
    birth_stat: min","date: 120268800
    value: 6.0
    birth_stat: min","date: -12182400
    value: 18.0
    birth_stat: min","date: 38793600
    value: 10.0
    birth_stat: min","date: 520128000
    value: 23.0
    birth_stat: min","date: 67996800
    value: 10.0
    birth_stat: min","date: 376617600
    value: 20.0
    birth_stat: min","date: 141868800
    value: 1.0
    birth_stat: min","date: 185155200
    value: 12.0
    birth_stat: min","date: 420336000
    value: 14.0
    birth_stat: min","date: 114393600
    value: 10.0
    birth_stat: min","date: 139968000
    value: 16.0
    birth_stat: min","date: 198547200
    value: 14.0
    birth_stat: min","date: 218246400
    value: 1.0
    birth_stat: min","date: 466905600
    value: 20.0
    birth_stat: min","date: 244944000
    value: 18.0
    birth_stat: min","date: 270086400
    value: 16.0
    birth_stat: min","date: 34992000
    value: 8.0
    birth_stat: min","date: 317606400
    value: 18.0
    birth_stat: min","date: 497664000
    value: 27.0
    birth_stat: min","date: 51062400
    value: 6.0
    birth_stat: min","date: 229564800
    value: 18.0
    birth_stat: min","date: 322876800
    value: 17.0
    birth_stat: min","date: 34560000
    value: 18.0
    birth_stat: min","date: 284256000
    value: 15.0
    birth_stat: min","date: 595468800
    value: 21.0
    birth_stat: min","date: 257126400
    value: 18.0
    birth_stat: min","date: 199152000
    value: 14.0
    birth_stat: min","date: 37843200
    value: 12.0
    birth_stat: min","date: 84844800
    value: 12.0
    birth_stat: min","date: 261100800
    value: 14.0
    birth_stat: min","date: -2332800
    value: 14.0
    birth_stat: min","date: 502934400
    value: 18.0
    birth_stat: min","date: 577324800
    value: 22.0
    birth_stat: min","date: 94176000
    value: 12.0
    birth_stat: min","date: 81993600
    value: 18.0
    birth_stat: min","date: 15379200
    value: 8.0
    birth_stat: min","date: 162432000
    value: 14.0
    birth_stat: min","date: 422668800
    value: 18.0
    birth_stat: min","date: 347760000
    value: 13.0
    birth_stat: min","date: 53568000
    value: 18.0
    birth_stat: min","date: 597456000
    value: 19.0
    birth_stat: min","date: 211766400
    value: 20.0
    birth_stat: min","date: 25228800
    value: 20.0
    birth_stat: min","date: 243043200
    value: 10.0
    birth_stat: min","date: 116553600
    value: 12.0
    birth_stat: min","date: 216172800
    value: 10.0
    birth_stat: min","date: 430358400
    value: 16.0
    birth_stat: min","date: 200966400
    value: 17.0
    birth_stat: min","date: 150595200
    value: 12.0
    birth_stat: min","date: 383702400
    value: 11.0
    birth_stat: min","date: 119318400
    value: 14.0
    birth_stat: min","date: 255225600
    value: 18.0
    birth_stat: min","date: 136771200
    value: 10.0
    birth_stat: min","date: 387072000
    value: 21.0
    birth_stat: min","date: 558057600
    value: 22.0
    birth_stat: min","date: 280108800
    value: 23.0
    birth_stat: min","date: -15120000
    value: 14.0
    birth_stat: min","date: 564019200
    value: 16.0
    birth_stat: min","date: -9158400
    value: 14.0
    birth_stat: min","date: 562032000
    value: 15.0
    birth_stat: min","date: 25574400
    value: 18.0
    birth_stat: min","date: 1296000
    value: 18.0
    birth_stat: min","date: 221184000
    value: 10.0
    birth_stat: min","date: 256089600
    value: 12.0
    birth_stat: min","date: 144633600
    value: 20.0
    birth_stat: min","date: 293155200
    value: 16.0
    birth_stat: min","date: 568512000
    value: 20.0
    birth_stat: min","date: -23068800
    value: 16.0
    birth_stat: min","date: 90633600
    value: 16.0
    birth_stat: min","date: 40262400
    value: 10.0
    birth_stat: min","date: 335577600
    value: 21.0
    birth_stat: min","date: 231984000
    value: 18.0
    birth_stat: min","date: 266457600
    value: 12.0
    birth_stat: min","date: 468460800
    value: 14.0
    birth_stat: min","date: 122083200
    value: 14.0
    birth_stat: min","date: 17193600
    value: 6.0
    birth_stat: min","date: 157939200
    value: 13.0
    birth_stat: min","date: 23932800
    value: 14.0
    birth_stat: min","date: 556934400
    value: 13.0
    birth_stat: min","date: 409190400
    value: 21.0
    birth_stat: min","date: 456624000
    value: 22.0
    birth_stat: min","date: 218505600
    value: 13.0
    birth_stat: min","date: 155520000
    value: 19.0
    birth_stat: min","date: 219628800
    value: 17.0
    birth_stat: min","date: 191203200
    value: 10.0
    birth_stat: min","date: 73008000
    value: 17.0
    birth_stat: min","date: 144806400
    value: 8.0
    birth_stat: min","date: 259372800
    value: 9.0
    birth_stat: min","date: 426816000
    value: 22.0
    birth_stat: min","date: 267235200
    value: 24.0
    birth_stat: min","date: 75945600
    value: 14.0
    birth_stat: min","date: 187833600
    value: 18.0
    birth_stat: min","date: 140486400
    value: 7.0
    birth_stat: min","date: 294019200
    value: 18.0
    birth_stat: min","date: 362620800
    value: 23.0
    birth_stat: min","date: 554688000
    value: 22.0
    birth_stat: min","date: 564451200
    value: 10.0
    birth_stat: min","date: 210902400
    value: 15.0
    birth_stat: min","date: 81216000
    value: 16.0
    birth_stat: min","date: 322272000
    value: 20.0
    birth_stat: min","date: 201139200
    value: 14.0
    birth_stat: min","date: 531792000
    value: 13.0
    birth_stat: min","date: 339292800
    value: 25.0
    birth_stat: min","date: 516499200
    value: 21.0
    birth_stat: min","date: -18489600
    value: 8.0
    birth_stat: min","date: 54518400
    value: 12.0
    birth_stat: min","date: 457747200
    value: 20.0
    birth_stat: min","date: 21254400
    value: 22.0
    birth_stat: min","date: 485654400
    value: 20.0
    birth_stat: min","date: 71971200
    value: 12.0
    birth_stat: min","date: 543801600
    value: 20.0
    birth_stat: min","date: 37497600
    value: 22.0
    birth_stat: min","date: 374716800
    value: 21.0
    birth_stat: min","date: 393379200
    value: 22.0
    birth_stat: min","date: 43200000
    value: 14.0
    birth_stat: min","date: 545270400
    value: 21.0
    birth_stat: min","date: 525312000
    value: 27.0
    birth_stat: min","date: 108777600
    value: 8.0
    birth_stat: min","date: 305856000
    value: 16.0
    birth_stat: min","date: 568425600
    value: 20.0
    birth_stat: min","date: 89942400
    value: 10.0
    birth_stat: min","date: -20822400
    value: 16.0
    birth_stat: min","date: 529200000
    value: 19.0
    birth_stat: min","date: 436492800
    value: 26.0
    birth_stat: min","date: 102643200
    value: 14.0
    birth_stat: min","date: 310348800
    value: 15.0
    birth_stat: min","date: 357004800
    value: 17.0
    birth_stat: min","date: 538272000
    value: 17.0
    birth_stat: min","date: 531964800
    value: 18.0
    birth_stat: min","date: 221097600
    value: 16.0
    birth_stat: min","date: 249091200
    value: 21.0
    birth_stat: min","date: 36892800
    value: 16.0
    birth_stat: min","date: 166924800
    value: 14.0
    birth_stat: min","date: -17193600
    value: 18.0
    birth_stat: min","date: 62553600
    value: 12.0
    birth_stat: min","date: -25574400
    value: 12.0
    birth_stat: min","date: 318384000
    value: 18.0
    birth_stat: min","date: 328924800
    value: 26.0
    birth_stat: min","date: 84067200
    value: 14.0
    birth_stat: min","date: 490320000
    value: 21.0
    birth_stat: min","date: 329702400
    value: 21.0
    birth_stat: min","date: 479692800
    value: 20.0
    birth_stat: min","date: 505008000
    value: 21.0
    birth_stat: min","date: 230515200
    value: 10.0
    birth_stat: min","date: 19267200
    value: 16.0
    birth_stat: min","date: 168048000
    value: 10.0
    birth_stat: min","date: 565315200
    value: 16.0
    birth_stat: min","date: 596160000
    value: 23.0
    birth_stat: min","date: 579052800
    value: 14.0
    birth_stat: min","date: 2073600
    value: 16.0
    birth_stat: min","date: 58060800
    value: 20.0
    birth_stat: min","date: 380073600
    value: 18.0
    birth_stat: min","date: 417398400
    value: 22.0
    birth_stat: min","date: 20044800
    value: 20.0
    birth_stat: min","date: 482025600
    value: 21.0
    birth_stat: min","date: -7948800
    value: 2.0
    birth_stat: min","date: 416707200
    value: 25.0
    birth_stat: min","date: 14774400
    value: 20.0
    birth_stat: min","date: 569721600
    value: 13.0
    birth_stat: min","date: 295833600
    value: 22.0
    birth_stat: min","date: 304646400
    value: 20.0
    birth_stat: min","date: 258076800
    value: 22.0
    birth_stat: min","date: 108000000
    value: 17.0
    birth_stat: min","date: 282960000
    value: 17.0
    birth_stat: min","date: 432864000
    value: 21.0
    birth_stat: min","date: 265161600
    value: 10.0
    birth_stat: min","date: 45446400
    value: 16.0
    birth_stat: min","date: 118800000
    value: 4.0
    birth_stat: min","date: 267667200
    value: 18.0
    birth_stat: min","date: 434505600
    value: 12.0
    birth_stat: min","date: 114912000
    value: 16.0
    birth_stat: min","date: 362707200
    value: 19.0
    birth_stat: min","date: 205200000
    value: 13.0
    birth_stat: min","date: 577238400
    value: 10.0
    birth_stat: min","date: 524880000
    value: 21.0
    birth_stat: min","date: 113443200
    value: 16.0
    birth_stat: min","date: 309916800
    value: 18.0
    birth_stat: min","date: 139881600
    value: 10.0
    birth_stat: min","date: 127526400
    value: 8.0
    birth_stat: min","date: 111196800
    value: 14.0
    birth_stat: min","date: 442540800
    value: 20.0
    birth_stat: min","date: 395884800
    value: 26.0
    birth_stat: min","date: 129513600
    value: 12.0
    birth_stat: min","date: 340588800
    value: 22.0
    birth_stat: min","date: -24710400
    value: 12.0
    birth_stat: min","date: 329443200
    value: 22.0
    birth_stat: min","date: 452217600
    value: 24.0
    birth_stat: min","date: 35337600
    value: 16.0
    birth_stat: min","date: 201571200
    value: 12.0
    birth_stat: min","date: 573177600
    value: 19.0
    birth_stat: min","date: 245548800
    value: 16.0
    birth_stat: min","date: 345254400
    value: 20.0
    birth_stat: min","date: 145411200
    value: 12.0
    birth_stat: min","date: 132364800
    value: 10.0
    birth_stat: min","date: 156902400
    value: 8.0
    birth_stat: min","date: 370137600
    value: 17.0
    birth_stat: min","date: 209520000
    value: 16.0
    birth_stat: min","date: 496972800
    value: 20.0
    birth_stat: min","date: 119836800
    value: 15.0
    birth_stat: min","date: 199929600
    value: 17.0
    birth_stat: min","date: 469929600
    value: 14.0
    birth_stat: min","date: 169862400
    value: 18.0
    birth_stat: min","date: 282441600
    value: 17.0
    birth_stat: min","date: 478224000
    value: 21.0
    birth_stat: min","date: -27388800
    value: 14.0
    birth_stat: min","date: 572227200
    value: 15.0
    birth_stat: min","date: -28166400
    value: 12.0
    birth_stat: min","date: -17971200
    value: 14.0
    birth_stat: min","date: 43113600
    value: 4.0
    birth_stat: min","date: -11923200
    value: 14.0
    birth_stat: min","date: 333244800
    value: 16.0
    birth_stat: min","date: -26697600
    value: 12.0
    birth_stat: min","date: 347500800
    value: 24.0
    birth_stat: min","date: 5875200
    value: 14.0
    birth_stat: min","date: 67392000
    value: 8.0
    birth_stat: min","date: 387849600
    value: 16.0
    birth_stat: min","date: 257817600
    value: 19.0
    birth_stat: min","date: 229305600
    value: 18.0
    birth_stat: min","date: 200275200
    value: 22.0
    birth_stat: min","date: 129168000
    value: 12.0
    birth_stat: min","date: 510105600
    value: 14.0
    birth_stat: min","date: -22636800
    value: 20.0
    birth_stat: min","date: 595641600
    value: 19.0
    birth_stat: min","date: 60566400
    value: 10.0
    birth_stat: min","date: 228441600
    value: 14.0
    birth_stat: min","date: 484876800
    value: 23.0
    birth_stat: min","date: 103593600
    value: 6.0
    birth_stat: min","date: 227577600
    value: 12.0
    birth_stat: min","date: 163555200
    value: 6.0
    birth_stat: min","date: 232588800
    value: 14.0
    birth_stat: min","date: 568684800
    value: 8.0
    birth_stat: min","date: 393292800
    value: 21.0
    birth_stat: min","date: 415238400
    value: 19.0
    birth_stat: min","date: 285465600
    value: 24.0
    birth_stat: min","date: 597974400
    value: 20.0
    birth_stat: min","date: 139536000
    value: 16.0
    birth_stat: min","date: 247449600
    value: 15.0
    birth_stat: min","date: 113961600
    value: 10.0
    birth_stat: min","date: 443318400
    value: 19.0
    birth_stat: min","date: 175996800
    value: 10.0
    birth_stat: min","date: 82252800
    value: 16.0
    birth_stat: min","date: 164073600
    value: 18.0
    birth_stat: min","date: 90720000
    value: 14.0
    birth_stat: min","date: 551750400
    value: 12.0
    birth_stat: min","date: 500428800
    value: 15.0
    birth_stat: min","date: 409968000
    value: 24.0
    birth_stat: min","date: 222480000
    value: 20.0
    birth_stat: min","date: -10195200
    value: 12.0
    birth_stat: min","date: 137808000
    value: 17.0
    birth_stat: min","date: 467510400
    value: 22.0
    birth_stat: min","date: -13651200
    value: 12.0
    birth_stat: min","date: 314064000
    value: 15.0
    birth_stat: min","date: 122256000
    value: 14.0
    birth_stat: min","date: 445132800
    value: 23.0
    birth_stat: min","date: 597369600
    value: 19.0
    birth_stat: min","date: 58233600
    value: 12.0
    birth_stat: min","date: 321408000
    value: 12.0
    birth_stat: min","date: 291513600
    value: 22.0
    birth_stat: min","date: 130118400
    value: 14.0
    birth_stat: min","date: 459475200
    value: 22.0
    birth_stat: min","date: 486691200
    value: 20.0
    birth_stat: min","date: 296438400
    value: 23.0
    birth_stat: min","date: 574819200
    value: 15.0
    birth_stat: min","date: 29808000
    value: 12.0
    birth_stat: min","date: 248659200
    value: 18.0
    birth_stat: min","date: 382233600
    value: 24.0
    birth_stat: min","date: 519350400
    value: 20.0
    birth_stat: min","date: 261360000
    value: 18.0
    birth_stat: min","date: 62208000
    value: 16.0
    birth_stat: min","date: 273888000
    value: 14.0
    birth_stat: min","date: 404697600
    value: 23.0
    birth_stat: min","date: 184204800
    value: 12.0
    birth_stat: min","date: 502416000
    value: 27.0
    birth_stat: min","date: -18403200
    value: 18.0
    birth_stat: min","date: 262656000
    value: 13.0
    birth_stat: min","date: 445219200
    value: 24.0
    birth_stat: min","date: 241920000
    value: 20.0
    birth_stat: min","date: 72489600
    value: 14.0
    birth_stat: min","date: 387331200
    value: 18.0
    birth_stat: min","date: 204422400
    value: 14.0
    birth_stat: min","date: 301449600
    value: 20.0
    birth_stat: min","date: 135216000
    value: 14.0
    birth_stat: min","date: 63504000
    value: 8.0
    birth_stat: min","date: 340934400
    value: 21.0
    birth_stat: min","date: 294883200
    value: 20.0
    birth_stat: min","date: 170035200
    value: 23.0
    birth_stat: min","date: 452304000
    value: 22.0
    birth_stat: min","date: 62121600
    value: 10.0
    birth_stat: min","date: 248140800
    value: 13.0
    birth_stat: min","date: 20304000
    value: 16.0
    birth_stat: min","date: 33523200
    value: 12.0
    birth_stat: min","date: -6739200
    value: 14.0
    birth_stat: min","date: 487036800
    value: 18.0
    birth_stat: min","date: 590284800
    value: 22.0
    birth_stat: min","date: 250473600
    value: 16.0
    birth_stat: min","date: 81043200
    value: 14.0
    birth_stat: min","date: 189648000
    value: 16.0
    birth_stat: min","date: 510796800
    value: 20.0
    birth_stat: min","date: 578880000
    value: 15.0
    birth_stat: min","date: 76377600
    value: 10.0
    birth_stat: min","date: 488160000
    value: 25.0
    birth_stat: min","date: 97286400
    value: 14.0
    birth_stat: min","date: 27388800
    value: 10.0
    birth_stat: min","date: 578016000
    value: 17.0
    birth_stat: min","date: 570412800
    value: 20.0
    birth_stat: min","date: 219369600
    value: 22.0
    birth_stat: min","date: 59616000
    value: 24.0
    birth_stat: min","date: 66441600
    value: 12.0
    birth_stat: min","date: 120960000
    value: 14.0
    birth_stat: min","date: 521337600
    value: 21.0
    birth_stat: min","date: 93312000
    value: 12.0
    birth_stat: min","date: 277948800
    value: 14.0
    birth_stat: min","date: 28166400
    value: 12.0
    birth_stat: min","date: 353203200
    value: 22.0
    birth_stat: min","date: 13737600
    value: 16.0
    birth_stat: min","date: 569376000
    value: 9.0
    birth_stat: min","date: 155692800
    value: 8.0
    birth_stat: min","date: 556675200
    value: 19.0
    birth_stat: min","date: 495936000
    value: 25.0
    birth_stat: min","date: 26352000
    value: 18.0
    birth_stat: min","date: 136857600
    value: 8.0
    birth_stat: min","date: 30153600
    value: 18.0
    birth_stat: min","date: 435456000
    value: 22.0
    birth_stat: min","date: 489110400
    value: 25.0
    birth_stat: min","date: 541987200
    value: 20.0
    birth_stat: min","date: 592272000
    value: 17.0
    birth_stat: min","date: 134524800
    value: 14.0
    birth_stat: min","date: 547776000
    value: 21.0
    birth_stat: min","date: 73440000
    value: 14.0
    birth_stat: min","date: 388281600
    value: 22.0
    birth_stat: min","date: 348019200
    value: 15.0
    birth_stat: min","date: 464140800
    value: 17.0
    birth_stat: min","date: 289785600
    value: 19.0
    birth_stat: min","date: 20995200
    value: 12.0
    birth_stat: min","date: 55641600
    value: 14.0
    birth_stat: min","date: 175824000
    value: 22.0
    birth_stat: min","date: 56073600
    value: 20.0
    birth_stat: min","date: 591494400
    value: 21.0
    birth_stat: min","date: 50284800
    value: 10.0
    birth_stat: min","date: 233884800
    value: 22.0
    birth_stat: min","date: 240796800
    value: 19.0
    birth_stat: min","date: 39225600
    value: 12.0
    birth_stat: min","date: 243388800
    value: 20.0
    birth_stat: min","date: 24364800
    value: 14.0
    birth_stat: min","date: 548380800
    value: 21.0
    birth_stat: min","date: 544147200
    value: 17.0
    birth_stat: min","date: 400377600
    value: 25.0
    birth_stat: min","date: -8899200
    value: 14.0
    birth_stat: min","date: 547171200
    value: 26.0
    birth_stat: min","date: 202521600
    value: 16.0
    birth_stat: min","date: 11923200
    value: 8.0
    birth_stat: min","date: 194313600
    value: 16.0
    birth_stat: min","date: 249436800
    value: 12.0
    birth_stat: min","date: 1900800
    value: 20.0
    birth_stat: min","date: 225417600
    value: 22.0
    birth_stat: min","date: 48470400
    value: 16.0
    birth_stat: min","date: 271123200
    value: 13.0
    birth_stat: min","date: 255744000
    value: 16.0
    birth_stat: min","date: 406080000
    value: 19.0
    birth_stat: min","date: 115344000
    value: 16.0
    birth_stat: min","date: 112665600
    value: 16.0
    birth_stat: min","date: 229046400
    value: 16.0
    birth_stat: min","date: 574041600
    value: 20.0
    birth_stat: min","date: 126835200
    value: 10.0
    birth_stat: min","date: 572832000
    value: 14.0
    birth_stat: min","date: 1641600
    value: 10.0
    birth_stat: min","date: 219110400
    value: 13.0
    birth_stat: min","date: 414633600
    value: 22.0
    birth_stat: min","date: 276825600
    value: 20.0
    birth_stat: min","date: 483408000
    value: 21.0
    birth_stat: min","date: 334454400
    value: 22.0
    birth_stat: min","date: 373766400
    value: 11.0
    birth_stat: min","date: 377308800
    value: 21.0
    birth_stat: min","date: 325987200
    value: 24.0
    birth_stat: min","date: 344044800
    value: 23.0
    birth_stat: min","date: 385344000
    value: 18.0
    birth_stat: min","date: 458352000
    value: 16.0
    birth_stat: min","date: 170985600
    value: 12.0
    birth_stat: min","date: 539136000
    value: 11.0
    birth_stat: min","date: 270000000
    value: 16.0
    birth_stat: min","date: 326246400
    value: 17.0
    birth_stat: min","date: 11577600
    value: 20.0
    birth_stat: min","date: 485395200
    value: 23.0
    birth_stat: min","date: 7171200
    value: 12.0
    birth_stat: min","date: 159840000
    value: 12.0
    birth_stat: min","date: 213321600
    value: 20.0
    birth_stat: min","date: 52272000
    value: 12.0
    birth_stat: min","date: 332812800
    value: 24.0
    birth_stat: min","date: 22464000
    value: 14.0
    birth_stat: min","date: 18489600
    value: 24.0
    birth_stat: min","date: 542419200
    value: 24.0
    birth_stat: min","date: 225072000
    value: 16.0
    birth_stat: min","date: -5097600
    value: 4.0
    birth_stat: min","date: 4147200
    value: 4.0
    birth_stat: min","date: 19008000
    value: 8.0
    birth_stat: min","date: 178934400
    value: 16.0
    birth_stat: min","date: 314150400
    value: 14.0
    birth_stat: min","date: 553824000
    value: 24.0
    birth_stat: min","date: 129600000
    value: 11.0
    birth_stat: min","date: 551059200
    value: 21.0
    birth_stat: min","date: 166320000
    value: 8.0
    birth_stat: min","date: 560476800
    value: 13.0
    birth_stat: min","date: -24019200
    value: 6.0
    birth_stat: min","date: 510883200
    value: 23.0
    birth_stat: min","date: 81302400
    value: 14.0
    birth_stat: min","date: 123465600
    value: 14.0
    birth_stat: min","date: 70070400
    value: 6.0
    birth_stat: min","date: 555465600
    value: 12.0
    birth_stat: min","date: 41299200
    value: 14.0
    birth_stat: min","date: 122601600
    value: 8.0
    birth_stat: min","date: 592963200
    value: 17.0
    birth_stat: min","date: 524361600
    value: 25.0
    birth_stat: min","date: 156988800
    value: 10.0
    birth_stat: min","date: 14428800
    value: 18.0
    birth_stat: min","date: 564105600
    value: 16.0
    birth_stat: min","date: 415411200
    value: 17.0
    birth_stat: min","date: 482630400
    value: 23.0
    birth_stat: min","date: 20217600
    value: 8.0
    birth_stat: min","date: 53136000
    value: 16.0
    birth_stat: min","date: 76204800
    value: 16.0
    birth_stat: min","date: 210384000
    value: 18.0
    birth_stat: min","date: 130982400
    value: 14.0
    birth_stat: min","date: 340848000
    value: 20.0
    birth_stat: min","date: 316051200
    value: 18.0
    birth_stat: min","date: 394416000
    value: 20.0
    birth_stat: min","date: -16588800
    value: 14.0
    birth_stat: min","date: 64195200
    value: 10.0
    birth_stat: min","date: 177379200
    value: 12.0
    birth_stat: min","date: 173145600
    value: 17.0
    birth_stat: min","date: 494812800
    value: 26.0
    birth_stat: min","date: 314323200
    value: 19.0
    birth_stat: min","date: 484012800
    value: 16.0
    birth_stat: min","date: -27302400
    value: 14.0
    birth_stat: min","date: 347328000
    value: 10.0
    birth_stat: min","date: 488073600
    value: 24.0
    birth_stat: min","date: 137894400
    value: 18.0
    birth_stat: min","date: 154828800
    value: 14.0
    birth_stat: min","date: 333072000
    value: 16.0
    birth_stat: min","date: 418348800
    value: 20.0
    birth_stat: min","date: 109555200
    value: 8.0
    birth_stat: min","date: 61862400
    value: 10.0
    birth_stat: min","date: 330393600
    value: 18.0
    birth_stat: min","date: 207532800
    value: 16.0
    birth_stat: min","date: 206323200
    value: 15.0
    birth_stat: min","date: 90547200
    value: 12.0
    birth_stat: min","date: 558144000
    value: 17.0
    birth_stat: min","date: 567302400
    value: 14.0
    birth_stat: min","date: 456192000
    value: 10.0
    birth_stat: min","date: 309484800
    value: 21.0
    birth_stat: min","date: 50630400
    value: 12.0
    birth_stat: min","date: 239500800
    value: 18.0
    birth_stat: min","date: 543196800
    value: 18.0
    birth_stat: min","date: 92102400
    value: 18.0
    birth_stat: min","date: 415324800
    value: 16.0
    birth_stat: min","date: 269395200
    value: 14.0
    birth_stat: min","date: 340416000
    value: 18.0
    birth_stat: min","date: 328320000
    value: 21.0
    birth_stat: min","date: 587779200
    value: 15.0
    birth_stat: min","date: 412300800
    value: 20.0
    birth_stat: min","date: 200534400
    value: 12.0
    birth_stat: min","date: 168998400
    value: 14.0
    birth_stat: min","date: 78537600
    value: 12.0
    birth_stat: min","date: 283478400
    value: 14.0
    birth_stat: min","date: 354326400
    value: 20.0
    birth_stat: min","date: 419385600
    value: 20.0
    birth_stat: min","date: 569635200
    value: 17.0
    birth_stat: min","date: 433555200
    value: 29.0
    birth_stat: min","date: 31017600
    value: 12.0
    birth_stat: min","date: 320371200
    value: 22.0
    birth_stat: min","date: 349574400
    value: 24.0
    birth_stat: min","date: 418694400
    value: 18.0
    birth_stat: min","date: 451958400
    value: 21.0
    birth_stat: min","date: 514080000
    value: 25.0
    birth_stat: min","date: 545011200
    value: 23.0
    birth_stat: min","date: 443836800
    value: 18.0
    birth_stat: min","date: -3456000
    value: 12.0
    birth_stat: min","date: 285379200
    value: 16.0
    birth_stat: min","date: 100137600
    value: 16.0
    birth_stat: min","date: -2073600
    value: 18.0
    birth_stat: min","date: 455500800
    value: 24.0
    birth_stat: min","date: 170208000
    value: 18.0
    birth_stat: min","date: 552441600
    value: 18.0
    birth_stat: min","date: 368841600
    value: 19.0
    birth_stat: min","date: 226627200
    value: 20.0
    birth_stat: min","date: 126316800
    value: 14.0
    birth_stat: min","date: 442886400
    value: 14.0
    birth_stat: min","date: 78969600
    value: 18.0
    birth_stat: min","date: 38448000
    value: 18.0
    birth_stat: min","date: 336960000
    value: 22.0
    birth_stat: min","date: 330307200
    value: 19.0
    birth_stat: min","date: 426902400
    value: 20.0
    birth_stat: min","date: 92275200
    value: 14.0
    birth_stat: min","date: 196128000
    value: 14.0
    birth_stat: min","date: 226972800
    value: 14.0
    birth_stat: min","date: 164419200
    value: 14.0
    birth_stat: min","date: 360806400
    value: 23.0
    birth_stat: min","date: 334022400
    value: 10.0
    birth_stat: min","date: 477360000
    value: 15.0
    birth_stat: min","date: 27993600
    value: 12.0
    birth_stat: min","date: 172800
    value: 16.0
    birth_stat: min","date: 389923200
    value: 20.0
    birth_stat: min","date: 360201600
    value: 16.0
    birth_stat: min","date: 17280000
    value: 22.0
    birth_stat: min","date: 197510400
    value: 14.0
    birth_stat: min","date: 458697600
    value: 15.0
    birth_stat: min","date: 385603200
    value: 19.0
    birth_stat: min","date: 189475200
    value: 12.0
    birth_stat: min","date: 339984000
    value: 19.0
    birth_stat: min","date: 266976000
    value: 13.0
    birth_stat: min","date: 387244800
    value: 14.0
    birth_stat: min","date: 181958400
    value: 16.0
    birth_stat: min","date: -25488000
    value: 12.0
    birth_stat: min","date: 271296000
    value: 23.0
    birth_stat: min","date: 348192000
    value: 21.0
    birth_stat: min","date: 327801600
    value: 17.0
    birth_stat: min","date: 310435200
    value: 15.0
    birth_stat: min","date: 90806400
    value: 18.0
    birth_stat: min","date: 571622400
    value: 15.0
    birth_stat: min","date: 67478400
    value: 18.0
    birth_stat: min","date: 229651200
    value: 18.0
    birth_stat: min","date: 440899200
    value: 14.0
    birth_stat: min","date: 191721600
    value: 15.0
    birth_stat: min","date: 487209600
    value: 25.0
    birth_stat: min","date: 73699200
    value: 14.0
    birth_stat: min","date: 436924800
    value: 15.0
    birth_stat: min","date: 535593600
    value: 22.0
    birth_stat: min","date: 528595200
    value: 26.0
    birth_stat: min","date: 85276800
    value: 16.0
    birth_stat: min","date: 66700800
    value: 16.0
    birth_stat: min","date: 251769600
    value: 14.0
    birth_stat: min","date: 243475200
    value: 10.0
    birth_stat: min","date: 329097600
    value: 23.0
    birth_stat: min","date: 174009600
    value: 22.0
    birth_stat: min","date: 363398400
    value: 22.0
    birth_stat: min","date: 9158400
    value: 10.0
    birth_stat: min","date: 517276800
    value: 14.0
    birth_stat: min","date: 95990400
    value: 14.0
    birth_stat: min","date: 121737600
    value: 13.0
    birth_stat: min","date: 348451200
    value: 24.0
    birth_stat: min","date: 109123200
    value: 5.0
    birth_stat: min","date: 317174400
    value: 17.0
    birth_stat: min","date: 55814400
    value: 14.0
    birth_stat: min","date: 475459200
    value: 18.0
    birth_stat: min","date: 187228800
    value: 5.0
    birth_stat: min","date: 421372800
    value: 23.0
    birth_stat: min","date: 45014400
    value: 10.0
    birth_stat: min","date: 294105600
    value: 15.0
    birth_stat: min","date: 166492800
    value: 14.0
    birth_stat: min","date: 503539200
    value: 19.0
    birth_stat: min","date: 455068800
    value: 21.0
    birth_stat: min","date: 174700800
    value: 14.0
    birth_stat: min","date: 532828800
    value: 15.0
    birth_stat: min","date: 243820800
    value: 13.0
    birth_stat: min","date: 507168000
    value: 20.0
    birth_stat: min","date: 250646400
    value: 9.0
    birth_stat: min","date: 528768000
    value: 15.0
    birth_stat: min","date: 507081600
    value: 14.0
    birth_stat: min","date: 287625600
    value: 15.0
    birth_stat: min","date: 171158400
    value: 15.0
    birth_stat: min","date: 131587200
    value: 16.0
    birth_stat: min","date: 563587200
    value: 20.0
    birth_stat: min","date: 535766400
    value: 9.0
    birth_stat: min","date: 65836800
    value: 19.0
    birth_stat: min","date: 257385600
    value: 22.0
    birth_stat: min","date: 281059200
    value: 19.0
    birth_stat: min","date: 3369600
    value: 12.0
    birth_stat: min"],"type":"scatter","mode":"markers","marker":{"autocolorscale":false,"color":"rgba(97,156,255,1)","opacity":1,"size":5.66929133858268,"symbol":"circle","line":{"width":1.88976377952756,"color":"rgba(97,156,255,1)"}},"hoveron":"points","name":"min","legendgroup":"min","showlegend":true,"xaxis":"x","yaxis":"y","hoverinfo":"text","frame":null}],"layout":{"margin":{"t":24.7671232876712,"r":7.30593607305936,"b":38.7214611872146,"l":48.9497716894977},"plot_bgcolor":"rgba(235,235,235,1)","paper_bgcolor":"rgba(255,255,255,1)","font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"xaxis":{"domain":[0,1],"type":"linear","autorange":false,"tickmode":"array","range":[-61979040,630577440],"ticktext":["1970","1975","1980","1985"],"tickvals":[0,157766400,315532800,473385600],"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.65296803652968,"tickwidth":0.66417600664176,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(255,255,255,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"y","title":"date","titlefont":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"hoverformat":".2f"},"yaxis":{"domain":[0,1],"type":"linear","autorange":false,"tickmode":"array","range":[-82.5,1754.5],"ticktext":["0","500","1000","1500"],"tickvals":[0,500,1000,1500],"ticks":"outside","tickcolor":"rgba(51,51,51,1)","ticklen":3.65296803652968,"tickwidth":0.66417600664176,"showticklabels":true,"tickfont":{"color":"rgba(77,77,77,1)","family":"","size":11.689497716895},"tickangle":-0,"showline":false,"linecolor":null,"linewidth":0,"showgrid":true,"gridcolor":"rgba(255,255,255,1)","gridwidth":0.66417600664176,"zeroline":false,"anchor":"x","title":"value","titlefont":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"hoverformat":".2f"},"shapes":[{"type":"rect","fillcolor":null,"line":{"color":null,"width":0,"linetype":[]},"yref":"paper","xref":"paper","x0":0,"x1":1,"y0":0,"y1":1}],"showlegend":true,"legend":{"bgcolor":"rgba(255,255,255,1)","bordercolor":"transparent","borderwidth":1.88976377952756,"font":{"color":"rgba(0,0,0,1)","family":"","size":11.689497716895},"y":0.913385826771654},"annotations":[{"text":"birth_stat","x":1.02,"y":1,"showarrow":false,"ax":0,"ay":0,"font":{"color":"rgba(0,0,0,1)","family":"","size":14.6118721461187},"xref":"paper","yref":"paper","textangle":-0,"xanchor":"left","yanchor":"bottom","legendTitle":true}],"hovermode":"closest"},"source":"A","attrs":{"1f7a1cae023c":{"x":{},"y":{},"colour":{},"type":"ggplotly"}},"cur_data":"1f7a1cae023c","visdat":{"1f7a1cae023c":["function (y) ","x"]},"config":{"modeBarButtonsToAdd":[{"name":"Collaborate","icon":{"width":1000,"ascent":500,"descent":-50,"path":"M487 375c7-10 9-23 5-36l-79-259c-3-12-11-23-22-31-11-8-22-12-35-12l-263 0c-15 0-29 5-43 15-13 10-23 23-28 37-5 13-5 25-1 37 0 0 0 3 1 7 1 5 1 8 1 11 0 2 0 4-1 6 0 3-1 5-1 6 1 2 2 4 3 6 1 2 2 4 4 6 2 3 4 5 5 7 5 7 9 16 13 26 4 10 7 19 9 26 0 2 0 5 0 9-1 4-1 6 0 8 0 2 2 5 4 8 3 3 5 5 5 7 4 6 8 15 12 26 4 11 7 19 7 26 1 1 0 4 0 9-1 4-1 7 0 8 1 2 3 5 6 8 4 4 6 6 6 7 4 5 8 13 13 24 4 11 7 20 7 28 1 1 0 4 0 7-1 3-1 6-1 7 0 2 1 4 3 6 1 1 3 4 5 6 2 3 3 5 5 6 1 2 3 5 4 9 2 3 3 7 5 10 1 3 2 6 4 10 2 4 4 7 6 9 2 3 4 5 7 7 3 2 7 3 11 3 3 0 8 0 13-1l0-1c7 2 12 2 14 2l218 0c14 0 25-5 32-16 8-10 10-23 6-37l-79-259c-7-22-13-37-20-43-7-7-19-10-37-10l-248 0c-5 0-9-2-11-5-2-3-2-7 0-12 4-13 18-20 41-20l264 0c5 0 10 2 16 5 5 3 8 6 10 11l85 282c2 5 2 10 2 17 7-3 13-7 17-13z m-304 0c-1-3-1-5 0-7 1-1 3-2 6-2l174 0c2 0 4 1 7 2 2 2 4 4 5 7l6 18c0 3 0 5-1 7-1 1-3 2-6 2l-173 0c-3 0-5-1-8-2-2-2-4-4-4-7z m-24-73c-1-3-1-5 0-7 2-2 3-2 6-2l174 0c2 0 5 0 7 2 3 2 4 4 5 7l6 18c1 2 0 5-1 6-1 2-3 3-5 3l-174 0c-3 0-5-1-7-3-3-1-4-4-5-6z"},"click":"function(gd) { \n // is this being viewed in RStudio?\n if (location.search == '?viewer_pane=1') {\n alert('To learn about plotly for collaboration, visit:\\n https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html');\n } else {\n window.open('https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html', '_blank');\n }\n }"}],"cloud":false},"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1}},"base_url":"https://plot.ly"},"evals":["config.modeBarButtonsToAdd.0.click"],"jsHooks":{"render":[{"code":"function(el, x) { var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set({\"on\":\"plotly_click\",\"persistent\":false,\"dynamic\":false,\"selectize\":false,\"opacityDim\":0.2,\"selected\":{\"opacity\":1}}); }","data":null}]}} Whilst using plot_ly() we obtain…

    plot_ly(date, x = ~date, y = ~value, color = ~birth_stat, type = "scatter")

    {"x":{"visdat":{"1f7a3b6792cf":["function () ","plotlyVisDat"]},"cur_data":"1f7a3b6792cf","attrs":{"1f7a3b6792cf":{"x":{},"y":{},"color":{},"alpha":1,"sizes":[10,100],"type":"scatter"}},"layout":{"margin":{"b":40,"l":60,"t":25,"r":10},"xaxis":{"domain":[0,1],"title":"date"},"yaxis":{"domain":[0,1],"title":"value"},"hovermode":"closest","showlegend":true},"source":"A","config":{"modeBarButtonsToAdd":[{"name":"Collaborate","icon":{"width":1000,"ascent":500,"descent":-50,"path":"M487 375c7-10 9-23 5-36l-79-259c-3-12-11-23-22-31-11-8-22-12-35-12l-263 0c-15 0-29 5-43 15-13 10-23 23-28 37-5 13-5 25-1 37 0 0 0 3 1 7 1 5 1 8 1 11 0 2 0 4-1 6 0 3-1 5-1 6 1 2 2 4 3 6 1 2 2 4 4 6 2 3 4 5 5 7 5 7 9 16 13 26 4 10 7 19 9 26 0 2 0 5 0 9-1 4-1 6 0 8 0 2 2 5 4 8 3 3 5 5 5 7 4 6 8 15 12 26 4 11 7 19 7 26 1 1 0 4 0 9-1 4-1 7 0 8 1 2 3 5 6 8 4 4 6 6 6 7 4 5 8 13 13 24 4 11 7 20 7 28 1 1 0 4 0 7-1 3-1 6-1 7 0 2 1 4 3 6 1 1 3 4 5 6 2 3 3 5 5 6 1 2 3 5 4 9 2 3 3 7 5 10 1 3 2 6 4 10 2 4 4 7 6 9 2 3 4 5 7 7 3 2 7 3 11 3 3 0 8 0 13-1l0-1c7 2 12 2 14 2l218 0c14 0 25-5 32-16 8-10 10-23 6-37l-79-259c-7-22-13-37-20-43-7-7-19-10-37-10l-248 0c-5 0-9-2-11-5-2-3-2-7 0-12 4-13 18-20 41-20l264 0c5 0 10 2 16 5 5 3 8 6 10 11l85 282c2 5 2 10 2 17 7-3 13-7 17-13z m-304 0c-1-3-1-5 0-7 1-1 3-2 6-2l174 0c2 0 4 1 7 2 2 2 4 4 5 7l6 18c0 3 0 5-1 7-1 1-3 2-6 2l-173 0c-3 0-5-1-8-2-2-2-4-4-4-7z m-24-73c-1-3-1-5 0-7 2-2 3-2 6-2l174 0c2 0 5 0 7 2 3 2 4 4 5 7l6 18c1 2 0 5-1 6-1 2-3 3-5 3l-174 0c-3 0-5-1-7-3-3-1-4-4-5-6z"},"click":"function(gd) { \n // is this being viewed in RStudio?\n if (location.search == '?viewer_pane=1') {\n alert('To learn about plotly for collaboration, visit:\\n https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html');\n } else {\n window.open('https://cpsievert.github.io/plotly_book/plot-ly-for-collaboration.html', '_blank');\n }\n }"}],"cloud":false},"data":[{"x":["1983-06-27","1982-11-22","1985-08-31","1970-03-14","1975-03-01","1972-01-11","1988-06-20","1975-08-10","1985-01-12","1981-02-11","1978-07-26","1969-01-17","1976-07-30","1972-05-07","1978-03-03","1975-11-21","1976-04-07","1972-11-04","1970-06-22","1980-07-21","1983-08-16","1974-11-03","1981-05-10","1979-03-16","1982-05-08","1980-09-06","1975-06-23","1986-06-07","1971-08-06","1974-04-02","1971-07-03","1981-05-09","1975-07-15","1976-08-19","1977-06-08","1988-04-13","1984-03-04","1987-04-12","1972-09-08","1971-09-16","1988-03-09","1988-11-29","1974-01-13","1984-05-18","1987-09-26","1969-09-15","1972-06-21","1973-07-03","1980-07-09","1982-04-24","1975-06-15","1981-06-11","1972-02-03","1979-01-17","1979-12-19","1982-04-19","1973-02-08","1982-09-29","1981-09-30","1981-03-08","1974-02-06","1972-02-06","1985-02-20","1971-05-03","1984-02-24","1978-12-24","1975-07-19","1971-09-01","1986-02-18","1974-05-09","1985-04-29","1977-08-22","1985-08-20","1985-08-28","1983-11-15","1979-09-15","1969-12-08","1969-12-02","1983-01-08","1984-12-08","1974-03-14","1984-05-02","1984-06-02","1975-09-08","1970-08-23","1973-09-24","1988-06-06","1974-08-28","1981-02-20","1987-02-10","1969-05-03","1983-12-30","1987-08-22","1977-02-14","1978-10-06","1971-07-31","1986-04-24","1987-11-20","1979-07-20","1985-05-14","1977-01-05","1975-03-26","1974-01-16","1987-04-16","1976-12-27","1988-02-17","1987-06-14","1988-06-14","1971-11-01","1975-04-27","1986-11-29","1979-01-18","1981-04-27","1978-06-01","1978-05-15","1970-06-18","1970-03-24","1983-10-07","1988-01-05","1979-12-31","1986-09-09","1975-12-21","1978-01-08","1985-10-10","1983-07-10","1985-03-19","1981-11-18","1984-07-30","1971-08-15","1974-12-29","1984-05-14","1987-07-06","1973-01-06","1975-09-06","1970-07-21","1969-11-27","1977-06-04","1983-11-13","1978-04-28","1980-09-25","1984-01-16","1976-02-24","1972-06-30","1983-02-16","1984-05-25","1985-09-03","1986-12-29","1984-02-10","1971-01-14","1969-07-13","1985-01-29","1970-10-31","1979-09-11","1969-08-11","1973-08-15","1978-11-06","1984-07-23","1980-06-25","1984-02-02","1978-08-16","1969-05-09","1985-10-31","1978-10-18","1973-05-07","1980-03-25","1971-08-24","1970-12-27","1977-07-28","1970-07-12","1983-05-11","1976-02-09","1973-06-06","1985-01-19","1987-03-13","1984-12-04","1987-04-09","1971-11-12","1979-12-09","1982-01-03","1974-01-26","1977-01-06","1977-06-29","1971-10-04","1982-01-14","1969-09-11","1984-12-19","1977-05-13","1978-03-23","1972-01-27","1984-06-05","1985-03-11","1970-05-20","1974-06-04","1977-06-19","1976-07-08","1983-03-14","1972-10-02","1985-12-05","1985-11-15","1984-06-22","1983-07-12","1970-09-07","1978-08-28","1983-09-05","1978-12-21","1977-04-11","1969-03-01","1981-09-09","1983-05-01","1975-02-23","1979-03-13","1983-11-08","1978-02-01","1972-09-26","1979-06-22","1975-06-27","1982-03-01","1973-09-06","1977-02-28","1987-03-20","1973-10-12","1974-03-29","1982-06-05","1976-08-28","1974-11-04","1985-05-17","1983-01-02","1981-04-30","1972-08-11","1983-09-26","1970-05-09","1971-01-23","1988-04-27","1974-06-17","1973-07-09","1981-07-18","1970-01-01","1978-05-18","1971-05-01","1972-07-27","1987-12-30","1977-02-13","1987-11-08","1981-04-12","1984-09-02","1974-01-05","1979-03-15","1971-02-08","1979-09-19","1970-01-06","1976-06-27","1986-08-29","1972-08-06","1986-11-02","1981-07-01","1987-12-29","1971-04-17","1978-11-25","1983-08-14","1988-12-16","1975-08-19","1978-08-23","1985-02-16","1972-01-26","1983-09-24","1984-06-18","1987-05-13","1982-06-15","1981-12-17","1970-06-02","1971-11-28","1976-05-03","1979-03-21","1971-01-08","1969-05-24","1981-07-14","1977-10-23","1973-12-09","1979-05-19","1984-03-08","1982-05-04","1970-04-10","1983-08-05","1971-11-09","1985-07-14","1970-07-15","1970-09-08","1985-02-07","1975-11-20","1971-09-05","1986-01-21","1983-05-30","1984-05-22","1980-10-13","1974-03-13","1975-03-29","1976-11-12","1973-02-13","1987-12-31","1974-05-22","1970-04-30","1969-06-20","1979-11-21","1984-10-21","1985-08-09","1980-05-09","1976-04-06","1970-08-15","1982-03-17","1971-03-23","1972-03-03","1982-06-14","1978-06-07","1981-11-17","1972-06-14","1981-05-02","1976-01-26","1979-03-06","1979-09-18","1988-06-10","1980-03-18","1985-10-24","1971-01-02","1985-12-06","1984-04-24","1974-12-03","1987-10-08","1986-05-19","1987-08-08","1988-04-14","1986-04-17","1973-06-30","1988-09-12","1977-01-16","1983-01-23","1987-05-07","1980-04-02","1979-03-05","1988-07-24","1986-08-12","1977-03-23","1972-09-12","1969-04-27","1988-04-24","1987-07-21","1986-09-25","1982-09-01","1980-10-08","1979-04-28","1971-12-16","1981-10-28","1986-05-23","1982-01-29","1983-03-17","1980-05-10","1970-06-14","1975-07-07","1980-09-05","1969-09-10","1969-02-27","1972-12-27","1987-04-28","1982-02-05","1982-07-08","1986-05-17","1974-02-01","1988-08-31","1970-12-24","1988-02-04","1973-02-09","1974-06-02","1976-06-01","1972-03-04","1980-05-08","1986-05-15","1978-02-22","1975-06-04","1974-08-15","1973-11-30","1974-08-06","1976-08-25","1969-10-16","1978-02-24","1984-08-15","1982-08-09","1983-02-27","1975-01-07","1972-04-24","1986-04-15","1973-11-07","1981-02-14","1987-01-14","1973-03-12","1982-02-02","1983-03-15","1975-05-11","1970-12-29","1986-01-15","1971-01-18","1981-12-09","1977-01-23","1969-01-14","1977-09-10","1970-09-24","1986-05-01","1982-06-20","1986-08-02","1975-05-16","1985-06-05","1978-09-28","1983-06-29","1981-12-02","1983-05-22","1985-10-11","1988-09-06","1972-02-21","1980-02-10","1985-08-11","1986-09-26","1980-08-31","1971-08-27","1969-12-05","1982-02-19","1972-02-15","1977-11-13","1974-05-14","1969-03-25","1981-06-21","1970-11-30","1972-01-18","1987-06-08","1979-10-07","1974-04-08","1984-01-14","1983-07-14","1971-11-22","1987-05-29","1973-02-18","1988-01-17","1987-07-20","1976-02-10","1976-09-07","1978-08-20","1971-07-04","1980-04-13","1984-07-14","1986-10-23","1969-05-10","1986-01-17","1980-11-22","1977-05-14","1980-01-20","1975-10-03","1973-01-17","1981-11-13","1976-03-10","1975-04-30","1978-04-23","1982-04-26","1969-05-28","1986-07-13","1970-10-14","1977-12-01","1969-05-31","1983-10-18","1974-08-13","1986-02-01","1980-04-03","1982-11-21","1981-11-02","1979-08-24","1988-08-11","1988-12-13","1974-03-15","1975-12-01","1982-05-11","1981-05-29","1977-05-29","1982-10-09","1969-01-18","1985-06-10","1987-05-16","1974-02-28","1970-01-05","1987-01-16","1975-03-23","1985-11-17","1975-12-31","1975-07-16","1975-01-15","1978-06-19","1969-02-10","1979-05-11","1971-03-29","1985-07-04","1977-08-10","1976-06-29","1988-06-19","1982-11-27","1978-04-17","1982-10-06","1985-07-07","1987-12-04","1970-10-12","1983-08-27","1976-01-23","1976-01-28","1973-04-17","1976-12-03","1969-11-20","1983-05-28","1975-06-25","1976-06-22","1982-09-02","1982-04-15","1970-04-11","1979-03-25","1985-08-08","1978-03-14","1974-12-06","1980-05-27","1977-01-12","1976-05-07","1985-08-03","1977-06-16","1971-01-11","1971-11-25","1977-09-29","1987-10-18","1976-07-26","1977-06-07","1974-04-30","1974-10-17","1983-10-26","1970-10-15","1976-03-27","1979-12-26","1980-01-10","1974-08-22","1973-03-28","1973-12-06","1977-11-20","1979-12-12","1975-09-22","1986-08-23","1975-09-20","1978-01-21","1971-08-09","1978-08-10","1988-02-22","1970-07-23","1977-08-15","1980-12-06","1972-10-22","1983-03-19","1972-09-19","1971-02-23","1975-03-04","1985-02-27","1979-04-06","1983-12-14","1987-07-17","1982-06-17","1975-10-20","1981-11-19","1977-09-02","1977-11-26","1983-09-21","1978-05-12","1985-10-22","1984-10-09","1984-04-30","1977-01-30","1980-11-07","1982-11-07","1974-08-30","1970-11-17","1970-03-30","1986-10-11","1979-12-22","1972-07-07","1975-05-02","1984-03-14","1982-05-16","1973-07-21","1979-10-17","1970-10-26","1982-02-17","1983-07-21","1985-06-25","1988-01-01","1985-04-07","1974-04-09","1987-07-18","1971-09-12","1986-11-07","1969-09-04","1976-09-20","1981-12-15","1981-05-20","1979-08-14","1970-01-31","1980-05-29","1977-11-27","1984-08-06","1987-03-10","1985-09-08","1982-02-07","1969-11-15","1985-01-02","1984-03-31","1970-12-23","1983-10-08","1986-10-10","1974-01-07","1981-11-26","1979-11-26","1973-11-18","1970-06-29","1985-02-19","1985-11-12","1982-07-17","1988-02-27","1971-04-18","1976-12-15","1983-05-27","1982-01-15","1976-02-05","1977-03-29","1974-04-20","1982-10-03","1972-07-01","1986-01-13","1974-01-08","1972-03-12","1984-01-13","1983-01-21","1972-02-26","1987-09-23","1973-06-05","1970-03-02","1973-04-02","1972-06-03","1978-12-15","1983-02-24","1970-05-26","1977-06-05","1977-08-28","1985-09-09","1985-05-12","1974-08-08","1981-01-08","1983-06-17","1986-03-17","1985-11-10","1982-12-27","1970-06-19","1973-05-13","1979-10-01","1988-09-07","1981-12-01","1971-02-15","1972-01-04","1973-04-19","1978-11-14","1986-07-25","1982-06-25","1987-01-26","1972-10-17","1986-06-11","1983-03-08","1979-10-27","1971-09-24","1969-12-22","1974-05-06","1984-12-21","1975-02-17","1986-05-10","1975-09-27","1971-04-09","1988-01-15"],"y":[1286,1272,1288,970,694,928,1508,778,1107,1152,1066,936,1026,758,922,922,922,804,1006,1144,1386,754,1090,1110,1100,1120,962,1118,942,906,882,1072,880,994,944,1470,1050,1136,994,938,1381,1613,658,1184,1313,994,788,872,1140,1060,736,1246,904,1058,1082,1278,788,1206,1250,984,828,744,1312,876,1164,894,770,906,1327,856,1276,1066,1454,1447,1238,1080,1020,1032,1086,1066,802,1300,1104,1028,832,884,1508,984,1206,1489,854,1204,1281,950,1028,1028,1309,1468,1076,1408,940,858,824,1397,964,1502,1123,1633,890,768,1111,956,1076,1028,1032,982,1008,1362,1440,1086,1545,774,802,1459,1074,1336,1164,1246,838,702,1208,1403,672,860,1166,824,906,1110,1028,1170,1120,946,838,1256,1324,1464,1441,1276,942,930,1342,906,1170,1032,914,1030,1274,1118,1164,1040,978,1323,974,766,1252,946,858,1122,848,1280,876,830,1158,1410,1298,1525,908,914,1062,758,928,1052,1072,1138,1038,1310,952,946,716,1196,1239,966,896,794,934,1244,844,1349,1412,1190,1284,882,1008,1020,990,928,930,1286,978,734,980,1176,962,918,1114,868,1122,860,916,1480,784,866,1084,930,846,1298,1058,1220,910,1300,928,976,1626,934,786,1074,764,1044,924,912,1550,886,1159,990,1086,748,1040,904,1228,982,776,1479,836,1063,1168,1598,820,948,1092,1556,874,1004,1104,882,1122,1386,1369,1276,1246,1020,700,896,1148,956,866,1152,846,758,860,1194,1256,1002,1326,830,1117,986,1158,1332,822,780,1295,1024,1264,1060,818,748,972,816,1417,922,896,1024,1120,964,1459,1116,904,934,1168,924,884,1250,1098,1282,744,1028,920,978,1148,1528,1154,1355,798,1324,1250,856,1451,1379,1278,1454,1349,736,1588,804,968,1414,1102,990,1246,1416,956,890,846,1206,1521,1466,1254,1182,852,896,1214,1420,1292,1246,972,876,960,1264,1080,888,916,1430,1122,1422,1118,842,1604,882,1455,804,702,944,742,1076,1437,980,940,956,874,998,1002,922,964,1376,1252,1106,862,850,1382,818,1032,1393,842,1168,1206,794,1154,1346,1082,1196,800,1036,978,1030,1407,1066,1214,968,1317,1122,1416,1226,1014,1374,1653,738,936,1186,1497,1030,896,970,1142,896,896,874,1010,1034,1048,906,1483,906,822,1068,1334,832,1477,702,1142,1481,860,996,894,762,926,1120,1336,862,1331,990,844,852,926,902,1174,894,912,842,1190,996,1129,1010,986,874,1304,990,1098,1056,1038,1268,1074,1643,1534,858,936,1292,1218,806,1086,904,1389,1173,866,938,1396,852,1136,1000,944,942,1000,982,1118,990,1126,1010,920,1275,1002,904,1334,1131,1494,1088,1128,812,866,884,960,1018,1082,934,852,1310,1252,992,930,1441,1024,888,1202,1048,856,1261,1014,960,666,1070,1149,1008,994,826,862,1298,1096,834,986,1034,880,814,828,842,1146,1000,1268,916,800,928,1006,1396,1000,1012,990,770,1040,972,940,848,1240,1044,1202,1516,1226,832,1158,1022,876,1332,990,1363,1492,1256,928,1196,1032,966,1084,1032,1165,918,956,890,1208,1000,746,1080,1060,1256,1194,1316,1182,1126,884,1190,884,1387,1042,1078,1194,1060,1284,852,1094,852,1446,1385,1162,966,898,1135,1078,1012,1140,1472,874,950,1018,732,960,1205,1390,1202,1255,764,992,1256,1112,878,994,782,1036,744,1261,834,758,1252,1220,808,1524,834,1038,848,750,1056,1292,1026,796,916,1434,1065,908,1068,1262,1375,1091,1232,1072,764,1054,1671,1266,854,770,832,1050,1480,1242,1399,880,1423,1258,960,1012,1032,808,1388,660,1210,838,884,1464],"type":"scatter","mode":"markers","name":"max","marker":{"fillcolor":"rgba(102,194,165,0.5)","color":"rgba(102,194,165,1)","line":{"color":"transparent"}},"xaxis":"x","yaxis":"y","frame":null},{"x":["1984-12-06","1981-02-06","1972-09-15","1981-05-09","1979-08-04","1981-09-19","1976-07-11","1985-01-06","1969-10-21","1980-02-27","1975-06-20","1970-05-26","1983-08-27","1973-03-26","1974-12-15","1987-12-06","1986-07-27","1988-11-20","1984-06-08","1974-01-15","1988-12-17","1988-06-13","1981-02-11","1976-04-10","1983-09-03","1977-07-25","1983-04-27","1972-07-10","1985-02-21","1981-09-25","1976-09-22","1977-11-06","1969-10-13","1975-02-28","1979-05-08","1981-05-19","1982-08-22","1973-08-06","1971-02-14","1983-03-29","1984-05-22","1979-06-10","1975-04-05","1988-08-04","1979-10-11","1973-06-26","1985-07-19","1981-09-02","1985-12-18","1972-10-19","1988-12-23","1986-06-25","1980-05-19","1980-04-04","1975-01-01","1985-11-05","1975-07-25","1987-11-28","1984-11-26","1981-12-31","1984-12-27","1979-10-09","1976-09-04","1984-03-27","1974-12-14","1987-04-26","1984-08-04","1978-10-30","1988-02-19","1984-04-19","1971-10-05","1976-10-21","1987-03-10","1977-06-18","1981-07-07","1976-11-15","1975-06-15","1983-09-10","1987-10-21","1985-06-24","1978-10-13","1972-10-27","1979-01-19","1972-09-08","1975-06-18","1979-01-13","1986-09-12","1980-05-22","1979-09-27","1970-08-25","1971-11-04","1977-03-18","1988-01-15","1978-03-03","1976-10-30","1982-02-07","1982-05-28","1976-10-12","1988-05-11","1974-11-14","1976-01-15","1971-12-27","1974-08-13","1979-06-08","1973-01-18","1977-05-08","1980-06-08","1984-10-21","1973-12-01","1987-06-23","1984-10-31","1986-05-09","1973-07-24","1978-04-05","1979-06-04","1979-02-23","1972-10-07","1985-09-12","1973-11-08","1975-06-10","1988-09-01","1985-05-03","1973-03-14","1982-08-05","1982-01-31","1979-06-14","1982-09-08","1983-03-13","1975-09-10","1977-09-07","1977-06-19","1978-02-15","1987-05-15","1977-09-17","1979-11-26","1969-08-28","1987-02-18","1977-06-04","1974-01-08","1973-04-06","1975-03-07","1972-01-26","1971-06-11","1986-04-15","1984-07-14","1976-04-09","1973-02-12","1979-01-02","1972-03-08","1972-10-25","1978-07-11","1969-02-11","1984-04-29","1978-07-30","1975-11-30","1983-02-05","1978-02-13","1980-02-19","1969-02-09","1976-11-13","1970-05-03","1986-03-08","1978-08-22","1972-03-27","1969-06-23","1979-12-25","1988-08-23","1976-07-08","1970-09-21","1988-09-12","1985-04-03","1975-11-11","1971-07-14","1988-09-19","1979-03-02","1988-03-27","1980-07-15","1975-10-01","1969-08-24","1974-07-02","1971-11-27","1976-10-07","1988-12-25","1983-02-14","1985-05-30","1978-04-04","1983-09-23","1974-07-08","1971-01-23","1973-06-29","1983-03-09","1977-08-10","1975-03-23","1977-11-29","1988-11-03","1972-05-06","1981-05-26","1976-12-16","1987-12-09","1983-12-03","1987-04-24","1987-05-28","1974-09-13","1972-10-12","1986-07-29","1980-10-06","1982-01-30","1970-10-17","1974-07-16","1980-04-12","1972-05-24","1980-08-08","1976-03-06","1986-05-04","1985-02-01","1977-05-12","1969-09-07","1973-08-14","1978-09-29","1973-04-03","1975-12-26","1970-08-06","1977-07-04","1969-04-12","1984-03-26","1988-05-09","1971-12-30","1971-12-12","1986-04-07","1985-06-09","1974-01-04","1971-06-23","1984-09-24","1980-11-23","1976-01-16","1976-06-13","1980-02-22","1982-01-16","1978-03-01","1980-12-09","1979-04-22","1978-07-20","1969-12-18","1970-08-24","1981-01-27","1978-07-28","1985-11-29","1971-08-23","1979-04-12","1972-05-08","1988-10-27","1982-09-20","1970-12-29","1984-10-17","1988-07-27","1970-11-01","1983-01-08","1971-01-27","1981-09-15","1986-08-26","1973-05-29","1976-10-05","1982-10-10","1971-04-07","1971-12-06","1981-07-24","1971-02-02","1984-01-13","1983-04-17","1982-07-18","1970-03-19","1984-04-03","1970-12-31","1972-08-14","1973-06-04","1981-11-22","1969-08-27","1983-11-24","1988-02-18","1988-01-14","1969-01-28","1972-10-15","1973-12-12","1969-10-03","1988-04-28","1975-11-12","1971-02-24","1969-07-21","1978-04-20","1984-09-10","1979-10-29","1981-12-27","1972-07-25","1972-06-12","1977-07-10","1971-06-20","1972-10-30","1970-01-13","1978-01-23","1987-09-12","1971-04-03","1985-08-08","1982-10-18","1984-08-14","1986-12-03","1980-12-12","1972-01-12","1974-05-18","1979-03-19","1984-01-23","1969-07-25","1976-03-19","1986-05-08","1982-09-30","1977-07-03","1972-10-24","1970-05-23","1976-11-23","1978-02-27","1976-08-30","1980-08-16","1976-09-07","1985-02-27","1979-12-15","1984-03-16","1975-10-11","1971-03-29","1973-11-11","1976-08-02","1984-03-19","1969-04-30","1978-12-29","1978-07-15","1984-08-05","1988-08-17","1988-03-26","1980-03-22","1977-09-23","1982-03-04","1978-04-26","1979-10-02","1971-08-19","1978-04-29","1973-07-31","1975-08-29","1978-04-27","1987-08-05","1978-03-07","1981-08-07","1969-02-12","1970-07-27","1988-04-09","1970-11-17","1975-06-04","1982-10-16","1986-01-31","1969-10-16","1983-06-18","1976-01-02","1976-07-09","1988-09-26","1982-01-08","1986-07-18","1975-05-21","1984-11-06","1984-06-25","1987-10-11","1975-04-03","1979-01-27","1984-02-13","1978-02-08","1985-06-01","1978-05-05","1987-03-14","1984-08-24","1974-12-01","1973-07-04","1983-02-28","1970-06-01","1981-09-03","1975-12-08","1973-10-17","1985-01-21","1987-09-01","1984-07-10","1976-10-13","1973-03-24","1981-09-05","1971-04-30","1988-07-14","1978-11-17","1969-12-24","1972-10-02","1980-10-03","1987-10-20","1981-08-19","1971-08-06","1976-03-31","1984-12-01","1971-03-16","1970-09-14","1974-07-26","1988-10-30","1976-08-04","1973-08-02","1988-11-06","1988-01-10","1986-10-18","1970-01-19","1971-01-26","1971-02-04","1985-11-12","1972-09-25","1976-09-01","1975-12-30","1979-04-30","1973-05-03","1975-03-17","1986-03-23","1982-02-19","1972-04-09","1986-03-25","1982-08-14","1978-04-30","1969-06-04","1983-05-27","1972-02-20","1970-10-25","1970-03-08","1978-01-20","1980-07-30","1973-04-23","1969-02-03","1976-11-03","1978-03-17","1974-11-23","1987-10-30","1980-04-01","1978-05-09","1973-03-03","1971-02-27","1974-02-03","1984-10-04","1975-12-16","1978-10-28","1976-01-08","1985-11-03","1978-04-12","1973-02-02","1982-06-05","1973-04-10","1978-09-22","1977-03-15","1982-01-17","1974-07-24","1977-12-11","1975-06-28","1971-01-01","1986-09-05","1988-12-11","1977-01-22","1987-10-18","1975-10-10","1983-05-24","1988-11-16","1977-05-18","1983-07-19","1970-05-20","1987-06-26","1981-08-22","1982-11-28","1969-05-30","1982-06-17","1971-10-29","1976-05-02","1978-01-24","1974-01-09","1972-08-02","1987-11-22","1969-10-19","1975-03-13","1969-06-12","1983-07-29","1981-03-22","1983-07-17","1987-01-04","1978-03-24","1982-02-25","1972-08-11","1975-06-21","1970-03-22","1986-07-05","1987-07-31","1977-01-24","1985-11-06","1976-10-10","1987-03-30","1977-05-13","1969-09-10","1971-02-13","1974-01-31","1973-12-27","1978-02-12","1980-08-27","1973-01-27","1980-02-12","1974-11-25","1974-07-01","1970-03-03","1983-02-24","1974-08-03","1984-11-02","1972-12-12","1976-06-12","1976-06-02","1969-03-09","1971-09-05","1978-02-09","1974-04-23","1982-05-17","1988-06-28","1981-06-19","1980-02-18","1974-01-24","1976-06-09","1980-12-24","1977-06-10","1976-10-26","1975-02-20","1975-03-02","1969-04-06","1982-04-06","1973-04-18","1976-09-15","1971-08-24","1970-11-20","1978-12-12","1986-01-25","1976-02-18","1987-08-17","1986-11-24","1971-05-05","1974-05-20","1969-06-05","1987-07-08","1973-12-18","1971-06-06","1971-09-03","1973-12-14","1970-12-08","1988-02-23","1983-06-06","1972-02-19","1974-09-01","1987-03-20","1973-05-19","1983-12-04","1984-11-18","1983-03-17","1974-08-20","1977-03-27","1978-01-05","1975-10-03","1970-01-24","1986-12-27","1979-12-27","1981-06-07","1970-05-25","1972-03-15","1975-11-13","1977-05-14","1978-10-26","1969-06-29","1984-05-13","1978-07-18","1980-04-08","1981-04-10","1983-01-07","1978-05-30","1988-02-05","1973-09-16","1986-09-17","1980-10-19","1972-03-29","1971-06-21","1970-05-30","1973-06-14","1987-03-26","1985-12-07","1981-01-14","1971-01-09","1978-05-20","1981-10-09","1973-08-09","1979-08-24","1973-02-13","1980-11-25","1981-08-14","1988-03-06","1975-03-06","1983-01-20","1979-04-15","1978-09-08","1970-01-05","1978-11-18","1985-06-28","1988-07-26","1977-04-21","1981-06-29","1971-10-15","1977-06-08","1978-07-29","1986-09-13","1972-11-26","1983-03-20","1972-08-05","1976-01-22","1979-05-29","1978-10-04","1975-05-08","1977-08-15","1982-05-22","1969-06-13","1973-10-25","1988-07-25","1982-08-31","1978-08-08","1988-01-21","1982-10-22","1977-07-26","1978-08-09","1981-05-31","1975-09-06","1986-01-13","1970-02-02","1973-01-25","1985-09-09","1987-06-25","1977-06-02","1969-01-21","1986-07-19","1969-09-09","1973-05-01","1980-09-04","1972-09-26","1975-09-22","1973-05-17","1988-12-26","1973-04-21","1978-03-28","1971-01-04","1982-02-17","1981-06-05","1978-03-14","1977-03-09","1984-10-30","1984-09-29","1978-12-10","1986-02-09","1983-04-20","1980-04-29","1981-07-22","1969-01-13","1986-03-05","1982-09-27","1985-11-18","1978-01-22","1979-04-29","1987-05-30","1982-02-21","1982-03-29"],"y":[199.450980392157,198.019607843137,201.549019607843,163.803921568627,184.843137254902,188.411764705882,156.725490196078,166.21568627451,209.294117647059,191.823529411765,177.235294117647,207.803921568627,181.21568627451,175.843137254902,147.156862745098,166.333333333333,175.666666666667,165.392156862745,207.058823529412,175.274509803922,171.686274509804,217.588235294118,198.274509803922,144.745098039216,179.43137254902,191.588235294118,204.156862745098,181.607843137255,207.509803921569,224.705882352941,192.862745098039,153.764705882353,196,175.960784313725,196.21568627451,202.137254901961,178.392156862745,185.176470588235,177.803921568627,211.980392156863,211.372549019608,162.921568627451,148.647058823529,238.352941176471,198.156862745098,178.058823529412,225.176470588235,214.156862745098,215.352941176471,176.607843137255,196.019607843137,216.43137254902,195.764705882353,196.725490196078,137.803921568627,218.019607843137,186.176470588235,170.294117647059,208.941176470588,203.803921568627,220.078431372549,202.941176470588,164.843137254902,203.058823529412,153.823529411765,162.470588235294,188.117647058824,185.725490196078,218.21568627451,197.196078431373,213.21568627451,181.509803921569,219.607843137255,161.313725490196,225.450980392157,177.078431372549,142.56862745098,186.980392156863,219.411764705882,215.960784313725,191.705882352941,177.058823529412,193.627450980392,198.882352941176,177.450980392157,169.588235294118,235.509803921569,198.21568627451,215.941176470588,223.21568627451,186.588235294118,181.56862745098,218.450980392157,178.301886792453,156.235294117647,166.941176470588,209.470588235294,188.666666666667,221.941176470588,177.666666666667,171.294117647059,190.039215686275,200.254901960784,188.019607843137,177.725490196078,149.862745098039,160.450980392157,167.529411764706,139.581818181818,224.176470588235,196.725490196078,212.019607843137,185.294117647059,173.725490196078,191.588235294118,198.039215686275,164.882352941176,234.470588235294,169.529411764706,176.411764705882,232.686274509804,207.705882352941,174.764705882353,219.529411764706,164.313725490196,192.117647058824,224.607843137255,165.333333333333,181.666666666667,202.549019607843,152.843137254902,182.274509803922,219.803921568627,179.627450980392,196.254901960784,208.156862745098,210.901960784314,157.823529411765,172.274509803922,168.921568627451,177.549019607843,179.529411764706,192.43137254902,213.254901960784,180.647058823529,162.490196078431,174.607843137255,173.627450980392,181,177.490196078431,193.490196078431,193.254901960784,151.392156862745,166.549019607843,147,166.254901960784,175.980392156863,199.509803921569,170.470588235294,155.156862745098,157.56862745098,171.823529411765,200.803921568627,178.098039215686,193.725490196078,156.235294117647,239.921568627451,187.235294117647,227.725490196078,236.509803921569,206.941176470588,175.019607843137,205.764705882353,241.803921568627,191.235294117647,167.333333333333,217.549019607843,173.928571428571,178.117647058824,194.56862745098,167.882352941176,185.509803921569,153.627450980392,207.803921568627,214.56862745098,185.294117647059,219.156862745098,185.725490196078,192.196078431373,176.627450980392,202.392156862745,200.235294117647,147.490196078431,188.607843137255,221.960784313725,152.725490196078,205.313725490196,185.294117647059,212.627450980392,162.254901960784,212.686274509804,224.254901960784,193.490196078431,186.196078431373,233.254901960784,206.647058823529,171.098039215686,186.078431372549,190.137254901961,167.529411764706,179.333333333333,225.333333333333,148.235294117647,155.313725490196,207.666666666667,180.588235294118,180.313725490196,192.980392156863,203.647058823529,177.156862745098,168.588235294118,212.470588235294,160.21568627451,175.294117647059,199.333333333333,217.196078431373,199.137254901961,158.862745098039,210.196078431373,172.333333333333,173.549019607843,188.235294117647,234.901960784314,165.549019607843,173.470588235294,145.882352941176,201.333333333333,170.686274509804,163.464285714286,202.392156862745,155.313725490196,203.941176470588,204.43137254902,205.019607843137,202.862745098039,202.43137254902,194.549019607843,203.882352941176,188.078431372549,176,217.313725490196,227.372549019608,244.078431372549,209.666666666667,238.509803921569,177.843137254902,167.156862745098,204.745098039216,223.960784313725,231.745098039216,174.686274509804,191.941176470588,174.098039215686,191.098039215686,190.823529411765,215.882352941176,211.843137254902,192.901960784314,164,183.803921568627,198.039215686275,197.098039215686,219.803921568627,187.039215686275,166.764705882353,165.235294117647,208.588235294118,163.058823529412,216.470588235294,211.392156862745,196.705882352941,154.588235294118,172.43137254902,214.156862745098,222.137254901961,167.019607843137,206.509803921569,199.921568627451,168.509803921569,228.254901960784,194.509803921569,169.666666666667,189.450980392157,170.529411764706,156.529411764706,160.666666666667,175.176470588235,207.450980392157,181.627450980392,185.627450980392,174.039215686275,226.137254901961,204.254901960784,226.470588235294,208.823529411765,196.843137254902,182.588235294118,150.333333333333,190.21568627451,194.607843137255,209.56862745098,169.078431372549,206.21568627451,220.960784313725,154.137254901961,183.294117647059,184.78431372549,182.666666666667,181.803921568627,179.588235294118,183.549019607843,189.294117647059,209.235294117647,166.137254901961,209.921568627451,156.56862745098,200.392156862745,145.490196078431,177.196078431373,204.450980392157,179.176470588235,204.176470588235,173.921568627451,179.156862745098,235.21568627451,179.764705882353,174.549019607843,202.509803921569,200.098039215686,177,213.941176470588,203.647058823529,152.235294117647,190.235294117647,187.980392156863,173.705882352941,222.56862745098,187.941176470588,220.705882352941,196.235294117647,216.705882352941,170.607843137255,219.254901960784,171.411764705882,174.392156862745,208.588235294118,194.470588235294,170.764705882353,156.745098039216,187.980392156863,236.019607843137,197.78431372549,226.901960784314,177.313725490196,206,207.078431372549,167.509803921569,174.529411764706,164.156862745098,195.627450980392,179.490196078431,176.392156862745,178.549019607843,173.274509803922,218.862745098039,140.277777777778,155.098039215686,201.058823529412,198.509803921569,213.607843137255,174.725490196078,170.862745098039,202.235294117647,230.078431372549,228.647058823529,180.058823529412,153.882352941176,183.411764705882,191.21568627451,234.372549019608,193.254901960784,176.039215686275,188.843137254902,216.627450980392,223.137254901961,216.843137254902,201.137254901961,169.666666666667,166.254901960784,204.666666666667,221.647058823529,187.725490196078,175.490196078431,177.745098039216,184.294117647059,171.235294117647,162.725490196078,170.78431372549,198.509803921569,215.607843137255,199.411764705882,215.372549019608,192.843137254902,185.803921568627,198.901960784314,186.627450980392,163.156862745098,176.470588235294,164.450980392157,203.43137254902,147.745098039216,218.509803921569,185.176470588235,140.235294117647,192.901960784314,205.411764705882,155.607843137255,181.686274509804,175.019607843137,182.666666666667,218.156862745098,164.156862745098,195.843137254902,176.764705882353,186.039215686275,158.882352941176,216.588235294118,198.941176470588,182.686274509804,165.313725490196,187.960784313725,145.725490196078,222.333333333333,187.372549019608,165.196078431373,165.039215686275,165.529411764706,169,174.058823529412,174.901960784314,173.392156862745,203.333333333333,189.882352941176,167.098039215686,182.882352941176,147.117647058824,159.392156862745,173.490196078431,233.019607843137,165.725490196078,160.156862745098,162.156862745098,180.627450980392,215.117647058824,215.137254901961,184.56862745098,216.470588235294,196.941176470588,226.43137254902,190.980392156863,167.21568627451,179.490196078431,210.411764705882,194.549019607843,139.019607843137,184.823529411765,163.647058823529,183.921568627451,166.196078431373,168.352941176471,168.823529411765,200.392156862745,216.176470588235,165.843137254902,175.294117647059,161.941176470588,179.686274509804,203.274509803922,182.941176470588,156.058823529412,172.235294117647,178.647058823529,225.352941176471,181.294117647059,209.705882352941,163,208.294117647059,182.627450980392,204.901960784314,182.627450980392,169.019607843137,186.450980392157,156.176470588235,215.78431372549,157.294117647059,201.019607843137,173.294117647059,170.740740740741,198.59649122807,208.039215686275,166.078431372549,204.627450980392,194.156862745098,154.78431372549,171.549019607843,164.588235294118,173.56862745098,181.607843137255,177.156862745098,207.274509803922,238.529411764706,206.313725490196,190.509803921569,170.43137254902,172.588235294118,176.058823529412,181.117647058824,184.372549019608,176.156862745098,144.843137254902,157.019607843137,208.235294117647,174.333333333333,195.627450980392,209.882352941176,218.156862745098,197.490196078431,176.882352941176,173.058823529412,227.156862745098,207.862745098039,182.549019607843,172.411764705882,188,226.078431372549,186.980392156863,163.960784313725,211.529411764706,179.941176470588,220,215.705882352941,203.352941176471,163.725490196078,155.078431372549,220.686274509804,150.960784313725,156.352941176471,162.745098039216,206.352941176471,199.078431372549,152.333333333333,177.509803921569,182.078431372549,185.686274509804,172.960784313725,205.960784313725,169.372549019608,197.56862745098,181.294117647059,172.980392156863,158.980392156863,186.56862745098,172.549019607843,160.764705882353,203.450980392157,202.411764705882,198.333333333333,195.039215686275,188.960784313725,214.588235294118,156.745098039216,230.529411764706,169.980392156863,174.137254901961,190.588235294118,173.882352941176,169.117647058824,214.019607843137,167.352941176471,204.294117647059,181.960784313725,158.392156862745,213.823529411765,184.666666666667,207.274509803922,174.43137254902,205.803921568627,224.176470588235,164.372549019608,173.333333333333,199.098039215686,149.313725490196,203.607843137255,193.176470588235,165.588235294118,222.745098039216,242.039215686275,179.294117647059,205.921568627451,199.607843137255,180.490196078431,170.490196078431,188.156862745098,152.745098039216,167.137254901961,166.843137254902,174.372549019608,192.843137254902,195,167.666666666667,193.176470588235,168.725490196078,193.176470588235,166.803921568627,228.254901960784,225.588235294118,205.098039215686,214.686274509804,204.549019607843,198.588235294118,199.274509803922,168.588235294118,166,200.117647058824,206.705882352941,175.666666666667,227.901960784314,224.058823529412,183.21568627451,205.372549019608,184.725490196078,207.803921568627,170.153846153846,216.450980392157,199.078431372549,187.647058823529,167.627450980392,170.254901960784,148.607843137255,182.411764705882,196.941176470588,206.509803921569,203.254901960784,187,183.450980392157,205.058823529412,192.411764705882,158.901960784314,166.098039215686,203.352941176471,199.117647058824,216.941176470588,192.823529411765,208.843137254902,226.235294117647,210.21568627451,148.490196078431,147,181.882352941176,170.764705882353,200.313725490196],"type":"scatter","mode":"markers","name":"mean","marker":{"fillcolor":"rgba(252,141,98,0.5)","color":"rgba(252,141,98,1)","line":{"color":"transparent"}},"xaxis":"x","yaxis":"y","frame":null},{"x":["1971-04-30","1983-05-15","1988-08-20","1986-09-26","1972-01-13","1978-11-04","1971-10-14","1988-01-24","1972-02-22","1971-12-01","1969-05-24","1977-11-20","1984-12-03","1978-07-28","1973-08-20","1987-10-02","1982-02-13","1980-09-20","1977-07-29","1977-08-05","1975-03-24","1980-01-15","1988-08-13","1973-05-06","1976-06-19","1987-12-10","1977-08-17","1969-04-13","1969-09-25","1977-06-26","1972-04-26","1974-12-26","1972-11-29","1987-05-18","1976-03-13","1973-07-01","1985-02-18","1988-02-08","1970-02-04","1986-10-31","1977-07-19","1984-09-30","1970-04-18","1974-10-03","1975-08-20","1987-03-14","1977-11-25","1976-01-30","1979-06-30","1984-07-14","1983-04-16","1987-05-03","1984-08-31","1982-06-12","1980-05-13","1979-04-08","1984-11-10","1975-12-23","1985-08-17","1982-03-15","1976-01-01","1978-10-26","1980-07-21","1975-07-30","1973-08-08","1969-02-06","1986-07-14","1972-04-18","1971-08-26","1987-05-08","1985-01-09","1978-12-13","1981-07-30","1972-02-18","1984-02-14","1979-09-22","1979-10-29","1982-06-14","1987-08-05","1969-03-13","1979-04-19","1979-05-06","1973-10-24","1969-08-13","1971-03-26","1986-06-26","1972-02-27","1981-12-08","1974-07-01","1975-11-14","1983-04-28","1973-08-17","1974-06-09","1976-04-17","1976-12-01","1984-10-18","1977-10-06","1978-07-24","1971-02-10","1980-01-25","1985-10-09","1971-08-15","1977-04-11","1980-03-26","1971-02-05","1979-01-04","1988-11-14","1978-02-24","1976-04-24","1971-03-15","1972-09-09","1978-04-11","1969-12-05","1985-12-09","1988-04-18","1972-12-26","1972-08-07","1970-06-28","1975-02-24","1983-05-25","1981-01-08","1971-09-13","1988-12-07","1976-09-17","1970-10-20","1977-09-14","1973-09-11","1976-11-07","1983-08-22","1976-05-15","1974-10-10","1982-02-28","1973-10-13","1978-02-02","1974-05-03","1982-04-08","1987-09-08","1978-11-17","1969-07-10","1987-11-16","1969-09-17","1987-10-24","1970-10-24","1970-01-16","1977-01-04","1978-02-12","1974-08-02","1979-04-17","1988-01-07","1969-04-09","1972-11-15","1971-04-12","1980-08-20","1977-05-09","1978-06-12","1984-11-05","1973-11-14","1970-07-19","1975-01-03","1970-10-05","1987-08-26","1982-12-20","1984-06-21","1976-12-04","1974-12-06","1976-12-17","1976-01-23","1972-04-25","1974-08-04","1978-03-22","1983-07-12","1978-06-21","1972-05-29","1975-12-15","1974-06-15","1979-04-27","1981-06-29","1987-07-31","1987-11-21","1976-09-07","1972-07-29","1980-03-19","1976-05-17","1986-11-08","1980-10-02","1986-05-15","1969-06-01","1971-09-24","1984-07-04","1970-09-04","1985-05-23","1972-04-13","1987-03-27","1971-03-11","1981-11-16","1982-06-20","1971-05-16","1987-04-13","1986-08-25","1973-06-13","1979-09-11","1988-01-06","1972-11-07","1969-05-05","1986-10-09","1983-11-01","1973-04-03","1979-11-02","1981-04-25","1987-01-22","1986-11-10","1977-01-03","1977-11-23","1971-03-04","1975-04-17","1969-06-16","1971-12-26","1969-03-11","1980-02-03","1980-06-04","1972-08-31","1985-07-16","1980-06-13","1985-03-15","1986-01-02","1977-04-22","1970-08-12","1975-04-30","1987-12-01","1988-11-22","1988-05-08","1970-01-25","1971-11-04","1982-01-17","1983-03-25","1970-08-21","1985-04-11","1969-10-01","1983-03-17","1970-06-21","1988-01-21","1979-05-18","1979-08-28","1978-03-07","1973-06-04","1978-12-20","1983-09-20","1978-05-28","1971-06-11","1973-10-07","1978-06-26","1983-10-09","1973-08-23","1981-06-30","1976-07-03","1988-04-17","1986-08-20","1973-08-06","1979-10-28","1974-06-08","1974-01-16","1973-07-11","1984-01-10","1982-07-19","1974-02-08","1980-10-17","1969-03-21","1980-06-10","1984-05-01","1971-02-14","1976-05-22","1988-03-01","1977-10-13","1980-12-10","1974-08-11","1974-03-13","1974-12-22","1981-09-24","1976-08-22","1985-10-01","1973-10-19","1976-05-03","1984-11-22","1975-05-21","1978-12-14","1985-02-26","1969-02-18","1988-02-19","1969-02-09","1969-06-07","1971-05-15","1969-08-16","1980-07-24","1969-02-26","1981-01-05","1970-03-10","1972-02-20","1982-04-17","1978-03-04","1977-04-08","1976-05-07","1974-02-04","1986-03-02","1969-04-14","1988-11-16","1971-12-03","1977-03-29","1985-05-14","1973-04-14","1977-03-19","1975-03-09","1977-05-16","1988-01-09","1982-06-19","1983-02-28","1979-01-18","1988-12-13","1974-06-04","1977-11-04","1973-08-12","1984-01-19","1975-07-31","1972-08-10","1975-03-15","1972-11-16","1987-06-27","1985-11-10","1982-12-29","1977-01-19","1969-09-05","1974-05-15","1984-10-25","1969-07-27","1979-12-15","1973-11-16","1984-02-09","1988-12-06","1971-11-06","1980-03-09","1979-03-29","1974-02-15","1984-07-24","1985-06-04","1979-05-25","1988-03-20","1970-12-12","1977-11-18","1982-02-11","1986-06-17","1978-04-14","1971-12-22","1978-09-06","1982-10-29","1975-11-03","1985-12-03","1969-06-02","1978-04-29","1984-02-10","1977-09-01","1972-04-19","1982-04-11","1976-06-24","1979-07-22","1974-04-15","1972-01-06","1980-10-21","1979-05-07","1975-05-23","1984-05-02","1971-12-21","1977-11-12","1970-08-24","1971-01-24","1969-10-15","1985-06-08","1988-09-15","1977-12-09","1972-07-27","1976-01-05","1986-03-10","1988-05-06","1972-06-03","1985-06-21","1973-01-31","1970-11-14","1988-04-26","1988-01-29","1976-12-14","1971-11-22","1972-02-09","1973-11-01","1986-07-10","1972-12-16","1978-10-23","1970-11-23","1981-03-12","1970-06-09","1988-01-17","1974-12-08","1987-08-23","1985-09-19","1970-11-02","1974-05-04","1970-12-16","1983-10-20","1985-07-02","1987-03-06","1988-10-08","1974-04-07","1987-05-12","1972-04-30","1982-04-22","1981-01-11","1984-09-16","1979-03-09","1970-09-01","1971-10-07","1975-07-29","1971-10-12","1988-09-29","1971-08-06","1977-05-31","1977-08-19","1971-03-31","1977-09-18","1970-10-10","1987-05-19","1987-03-31","1982-09-09","1969-09-20","1987-05-05","1976-06-02","1970-05-19","1976-02-28","1977-11-27","1970-01-23","1977-02-22","1971-07-16","1978-08-05","1978-02-08","1982-11-14","1973-08-28","1973-07-28","1977-04-05","1988-03-11","1974-01-08","1988-02-26","1970-01-20","1976-12-11","1983-02-21","1978-10-10","1985-04-27","1980-08-07","1981-11-05","1981-12-16","1980-05-01","1980-11-26","1982-03-19","1984-07-11","1975-06-03","1987-02-01","1978-07-23","1980-05-04","1970-05-15","1985-05-20","1970-03-25","1975-01-25","1976-10-05","1971-08-29","1980-07-19","1970-09-18","1970-08-03","1987-03-11","1977-02-18","1969-11-03","1970-02-18","1970-08-09","1975-09-03","1979-12-16","1987-07-21","1974-02-09","1987-06-19","1975-04-10","1987-10-06","1969-03-29","1986-03-11","1972-07-30","1973-11-30","1972-03-22","1987-08-09","1971-04-24","1973-11-20","1988-10-16","1986-08-14","1974-12-23","1970-06-17","1987-11-17","1983-03-02","1985-04-18","1970-08-23","1971-09-08","1972-06-01","1976-09-01","1974-02-25","1980-10-20","1980-01-07","1982-07-02","1969-06-23","1972-01-14","1975-08-16","1975-06-28","1985-09-06","1979-12-18","1985-05-04","1969-02-19","1981-01-03","1985-06-20","1974-05-16","1974-11-28","1980-07-22","1983-04-05","1973-06-22","1971-12-18","1980-06-21","1976-07-30","1976-07-16","1972-11-14","1987-09-09","1987-12-24","1984-06-16","1979-10-23","1971-08-10","1977-08-04","1987-03-20","1972-12-02","1983-03-01","1978-07-16","1980-10-15","1980-05-28","1988-08-17","1983-01-25","1976-05-10","1975-05-11","1972-06-28","1978-12-26","1981-03-25","1983-04-17","1988-01-20","1983-09-28","1970-12-26","1980-02-26","1981-01-29","1983-04-09","1984-04-28","1986-04-17","1987-04-10","1984-01-25","1969-11-22","1979-01-17","1973-03-05","1969-12-08","1984-06-08","1975-05-25","1987-07-05","1981-09-09","1977-03-08","1974-01-02","1984-01-14","1972-07-03","1971-03-22","1980-09-05","1980-06-20","1983-07-13","1972-12-04","1976-03-20","1977-03-12","1975-03-19","1981-06-08","1980-08-02","1985-02-16","1970-11-21","1970-01-03","1982-05-11","1981-06-01","1970-07-20","1976-04-05","1984-07-15","1982-03-22","1976-01-03","1980-10-10","1978-06-18","1982-04-10","1975-10-08","1969-03-12","1978-08-07","1981-01-13","1980-05-22","1979-11-03","1972-11-17","1988-02-12","1972-02-21","1977-04-12","1983-12-22","1976-01-29","1985-06-10","1972-05-03","1983-11-06","1986-12-22","1986-10-02","1972-09-14","1972-02-12","1977-12-24","1977-09-19","1980-06-06","1975-07-08","1981-07-08","1970-04-17","1986-05-24","1973-01-16","1973-11-10","1981-01-16","1973-06-17","1980-01-20","1971-10-09","1985-01-25","1975-12-08","1983-05-10","1971-06-06","1979-04-28","1975-04-12","1985-12-16","1984-06-03","1975-07-16","1986-11-20","1977-09-23","1986-01-27","1977-12-11","1986-10-04","1986-01-26","1979-02-12","1975-06-05","1974-03-04","1987-11-11","1986-12-24","1972-02-02","1978-02-27","1978-11-28","1970-02-09"],"y":[20,19,17,22,18,16,16,15,20,2,16,10,23,16,14,18,16,16,15,16,14,21,19,7,16,18,22,14,12,10,13,14,14,22,15,2,19,20,16,22,22,15,14,14,18,18,10,15,19,11,19,17,20,16,21,17,14,12,19,20,12,21,26,18,16,14,25,12,10,21,17,19,22,14,22,17,16,20,20,12,13,14,6,18,10,23,10,20,1,12,14,10,16,14,1,20,18,16,8,18,27,6,18,17,18,15,21,18,14,12,12,14,14,18,22,12,18,8,14,18,13,18,19,20,20,10,12,10,16,17,12,11,14,18,10,21,22,23,14,16,14,15,18,18,10,12,20,16,20,16,16,10,21,18,12,14,14,6,13,14,13,21,22,13,19,17,10,17,8,9,22,24,14,18,7,18,23,22,10,15,16,20,14,13,25,21,8,12,20,22,20,12,20,22,21,22,14,21,27,8,16,20,10,16,19,26,14,15,17,17,18,16,21,16,14,18,12,12,18,26,14,21,21,20,21,10,16,10,16,23,14,16,20,18,22,20,21,2,25,20,13,22,20,22,17,17,21,10,16,4,18,12,16,19,13,10,21,16,18,10,8,14,20,26,12,22,12,22,24,16,12,19,16,20,12,10,8,17,16,20,15,17,14,18,17,21,14,15,12,14,4,14,16,12,24,14,8,16,19,18,22,12,14,20,19,10,14,23,6,12,6,14,8,21,19,24,20,16,15,10,19,10,16,18,14,12,15,24,20,12,17,22,12,15,14,23,19,12,12,22,14,22,20,23,15,12,18,24,20,18,16,14,23,12,27,18,13,24,20,14,18,14,20,14,8,21,20,23,22,10,13,16,12,14,18,22,16,14,16,20,15,10,25,14,10,17,20,22,24,12,14,21,12,14,12,22,16,9,8,19,25,18,8,18,22,25,20,17,14,21,14,22,15,17,19,12,14,22,20,21,10,22,19,12,20,14,21,17,25,14,26,16,8,16,12,20,22,16,13,16,19,16,16,16,20,10,14,10,13,22,20,21,22,11,21,24,23,18,16,12,11,16,17,20,23,12,12,20,12,24,14,24,24,16,4,4,8,16,14,24,11,21,8,13,6,23,14,14,6,12,14,8,17,25,10,18,16,17,23,8,16,16,18,14,20,18,20,14,10,12,17,26,19,16,14,10,24,18,14,16,20,8,10,18,16,15,12,17,14,10,21,12,18,18,18,16,14,18,21,15,20,12,14,12,14,20,20,17,29,12,22,24,18,21,25,23,18,12,16,16,18,24,18,18,19,20,14,14,18,18,22,19,20,14,14,14,14,23,10,15,12,16,20,16,22,14,15,19,12,19,13,14,16,12,23,21,17,15,18,15,18,18,14,15,25,14,15,22,26,16,16,14,10,23,22,22,10,14,14,13,24,5,17,14,18,5,23,10,15,14,19,21,14,15,13,20,9,15,14,15,15,16,20,9,19,22,19,12],"type":"scatter","mode":"markers","name":"min","marker":{"fillcolor":"rgba(141,160,203,0.5)","color":"rgba(141,160,203,1)","line":{"color":"transparent"}},"xaxis":"x","yaxis":"y","frame":null}],"highlight":{"on":"plotly_click","persistent":false,"dynamic":false,"selectize":false,"opacityDim":0.2,"selected":{"opacity":1}},"base_url":"https://plot.ly"},"evals":["config.modeBarButtonsToAdd.0.click"],"jsHooks":{"render":[{"code":"function(el, x) { var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set({\"on\":\"plotly_click\",\"persistent\":false,\"dynamic\":false,\"selectize\":false,\"opacityDim\":0.2,\"selected\":{\"opacity\":1}}); }","data":null}]}} Again, both plots are identical, bar styling.

    time2 = microbenchmark( ggplotly = ggplotly( ggplot(date) + geom_point(aes(y = value, x = date, colour = birth_stat)) ), plotly = plot_ly(date, x = ~date, y = ~value, color = ~birth_stat, type = "scatter"), times = 100, unit = "s") time2 ## Unit: seconds ## expr min lq mean median uq max neval cld ## ggplotly 0.335823 0.355301 0.389759 0.365353 0.378502 0.54746 100 b ## plotly 0.002472 0.002534 0.002719 0.002585 0.002675 0.01179 100 a autoplot(time2)

    On average ggplotly() is 143 times slower than plot_ly(), with the max run time being 0.547 seconds!

    Summary

    I’m going to level with you. Using ggplotly() in interactive mode isn’t a problem. Well, it’s not a problem until your shiny dashboard or your markdown document has to generate a few plots at the same time. With only one plot, you’ll probably go with the method that gives you your style in the easiest way possible and you’ll do this with no repercussions. However, let’s say you’re making a shiny dashboard and it now has over 5 interactive graphs within it. Suddenly, if you’re using ggplotly(), the lag we noticed in the analysis above starts to build up unnecessarily. That’s why I’d use plot_ly().

    Thanks for chatting!

    R.version.string ## [1] "R version 3.4.2 (2017-09-28)" packageVersion("ggplot2") ## [1] '2.2.1' packageVersion("plotly") ## [1] '4.7.1'

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: R on The Jumping Rivers Blog. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    Data-set update to “Empirical software engineering using R”

    Sun, 11/26/2017 - 20:26

    (This article was first published on The Shape of Code » R, and kindly contributed to R-bloggers)

    The pile of papers, books and data-sets, relating to previously released draft chapters of my Empirical software engineering book, has been growing, and cluttering up my mind. I decided to have a clear-out.

    A couple of things stood out.

    There are around 25 data-sets that have been promised but not yet arrived. If you encounter anybody who mentions they promised to send me data, please encourage them to spend some time doing this. I don’t want to add a new category, promised but never delivered, to the list of email responses.

    There has been an increase in data-sets not being used because I already have something better. This is a good sign, data quality is increasing. One consequence is that a growing number of ‘historical’ data-sets have fallen by the wayside. This is a good thing, most data-sets analysed in papers are very low quality and only used because nothing else was available.

    One of my reasons for making draft releases was to prompt people to suggest data I had missed. This has not happened yet; come on people, suggest some data I don’t yet know about.

    About a third of the pile got included in the latest draft, a third had been superseded by something better, and a third are still waiting for promised data.

    Now, back to the reliability chapter.

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: The Shape of Code » R. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    rfoaas 1.1.1: Updated and extended

    Sun, 11/26/2017 - 20:08

    (This article was first published on Thinking inside the box , and kindly contributed to R-bloggers)

    FOAAS upstream is still at release 1.1.0, but added a few new accessors a couple of months ago. So this new version of rfoaas updates to these: asshole(), cup(), fyyff(), immensity(), programmer(), rtfm(), thinking(). We also added test coverage and in doing so noticed that our actual tests never ran on Travis. Yay. Now fixed.

    As usual, CRANberries provides a diff to the previous CRAN release. Questions, comments etc should go to the GitHub issue tracker. More background information is on the project page as well as on the github repo

    This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: Thinking inside the box . R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    Rcpp 0.12.14: Some deprecation and minor updates

    Fri, 11/24/2017 - 14:49

    (This article was first published on Thinking inside the box , and kindly contributed to R-bloggers)

    The fourteenth release in the 0.12.* series of Rcpp landed on CRAN yesterday after a somewhat longer-than-usual gestation period (and word is it may have been due to some unrelated disturbances from lots of changes within the main r-devel build).

    This release follows the 0.12.0 release from July 2016, the 0.12.1 release in September 2016, the 0.12.2 release in November 2016, the 0.12.3 release in January 2017, the 0.12.4 release in March 2016, the 0.12.5 release in May 2016, the 0.12.6 release in July 2016, the 0.12.7 release in September 2016, the 0.12.8 release in November 2016, the 0.12.9 release in January 2017, the 0.12.10.release in March 2017, the 0.12.11.release in May 2017, the 0.12.12 release in July 2017 and the 0.12.13.release in late September 2017 making it the eighteenth release at the steady and predictable bi-montly release frequency.

    Rcpp has become the most popular way of enhancing GNU R with C or C++ code. As of today, 1246 packages (and hence 77 more since the last release) on CRAN depend on Rcpp for making analytical code go faster and further, along with another 91 in BioConductor.

    This release is relatively minor compared to other releases, but follows through on the deprecattion of the old vectors for Date and Datetime (which were terrible: I was influenced by the vector design in QuantLib at the time and didn’t really understand yet how a SEXP vector should work) we announced with Rcpp 0.12.8 a year ago. So now the new vectors are the default, but you can flip back if you need to with #define.

    Otherwise Dan rounded a corner with the improved iterators he contributed, and Kirill improved the output stream implementation suppressing a warning with newer compilers.

    Changes in Rcpp version 0.12.14 (2017-11-17)
    • Changes in Rcpp API:

      • New const iterators functions cbegin() and cend() added to MatrixRow as well (Dan Dillon in #750).

      • The Rostream object now contains a Buffer rather than allocating one (Kirill Müller in #763).

      • New DateVector and DatetimeVector classes are now the default fully deprecating the old classes as announced one year ago.

    • Changes in Rcpp Package:

      • DESCRIPTION file now list doi information per CRAN suggestion.
    • Changes in Rcpp Documentation:

      • Update CITATION file with doi information and PeerJ preprint.

    Thanks to CRANberries, you can also look at a diff to the previous release. As always, details are on the Rcpp Changelog page and the Rcpp page which also leads to the downloads page, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.

    This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: Thinking inside the box . R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    Association rules using FPGrowth in Spark MLlib through SparklyR

    Thu, 11/23/2017 - 20:55

    (This article was first published on R – Longhow Lam's Blog, and kindly contributed to R-bloggers)

    Introduction

    Market Basket Analysis or association rules mining can be a very useful technique to gain insights in transactional data sets, and it can be useful for product recommendation. The classical example is data in a supermarket. For each customer we know what the individual products (items) are that he has bought. With association rules mining we can identify items that are frequently bought together. Other use cases for MBA could be web click data, log files, and even questionnaires.

    In R there is a package arules to calculate association rules, it makes use of the so-called Apriori algorithm. For data sets that are not too big, calculating rules with arules in R (on a laptop) is not a problem. But when you have very huge data sets, you need to do something else, you can:

    • use more computing power (or cluster of computing nodes).
    • use another algorithm, for example FP Growth, which is more scalable. See this blog for some details on Apriori vs. FP Growth.

    Or do both of the above points by using FPGrowth in Spark MLlib on a cluster. And the nice thing is: you can stay in your familiar R Studio environment!

    Spark MLlib and sparklyr Example Data set

    We use the example groceries transactions data in the arules package. It is not a big data set and you would definitely not need more than a laptop, but it is much more realistic than the example given in the Spark MLlib documentation :-).

    Preparing the data

    I am a fan of sparklyr It offers a good R interface to Spark and MLlib. You can use dplyr syntax to prepare data on Spark, it exposes many of the MLlib machine learning algorithms in a uniform way. Moreover, it is nicely integrated into the RStudio environment offering the user views on Spark data and a way to manage the Spark connection.

    First connect to spark and read in the groceries transactional data, and upload the data to Spark. I am just using a local spark install on my Ubuntu laptop.

    ###### sparklyr code to perform FPGrowth algorithm ############ library(sparklyr) library(dplyr) #### spark connect ######################################### sc <- spark_connect(master = "local") #### first create some dummy data ########################### transactions = readRDS("transactions.RDs") #### upload to spark #########################################   trx_tbl  = copy_to(sc, transactions, overwrite = TRUE)

    For demonstration purposes, data is copied in this example from the local R session to Spark. For large data sets this is not feasible anymore, in that case data can come from hive tables (on the cluster).

    The figure above shows the products purchased by the first four customers in Spark in an RStudio grid. Although transactional systems will often output the data in this structure, it is not what the FPGrowth model in MLlib expects. It expects the data aggregated by id (customer) and the products inside an array. So there is one more preparation step.

    # data needs to be aggregated by id, the items need to be in a list trx_agg = trx_tbl %>% group_by(id) %>% summarise( items = collect_list(item) )

    The figure above shows the aggregated data, customer 12, has a list of 9 items that he has purchased.

    Running the FPGrowth algorithm

    We can now run the FPGrowth algorithm, but there is one more thing. Sparklyr does not expose the FPGrowth algorithm (yet), there is no R interface to the FPGrowth algorithm. Luckily, sparklyr allows the user to invoke the underlying Scala methods in Spark. We can define an new object with invoke_new

      uid = sparklyr:::random_string("fpgrowth_")   jobj = invoke_new(sc, "org.apache.spark.ml.fpm.FPGrowth", uid) 

    Now jobj is an object of class FPGrowth in Spark.

    jobj class org.apache.spark.ml.fpm.FPGrowth fpgrowth_d4d41f71f3e0

    And by looking at the Scala documentation of FPGrowth we see that there are more methods that you can use. We need to use the function invoke, to specify which column contains the list of items, to specify the minimum confidence and to specify the minimum support.

    jobj %>%      invoke("setItemsCol", "items") %>%     invoke("setMinConfidence", 0.03) %>%     invoke("setMinSupport", 0.01)  %>%     invoke("fit", spark_dataframe(trx_agg))

    By invoking fit, the FPGrowth algorithm is fitted and an FPGrowthModel object is returned where we can invoke associationRules to get the calculated rules in a spark data frame

    rules = FPGmodel %>% invoke("associationRules")

    The rules in the spark data frame consists of an antecedent column (the left hand side of the rule), a consequent column (the right hand side of the rule) and a column with the confidence of the rule. Note that the antecedent and consequent are lists of items! If needed we can split these lists and collect them to R for plotting for further analysis.

    The invoke statements and rules extractions statements can of course be wrapped inside functions to make it more reusable. So given the aggregated transactions in a spark table trx_agg, you can get something like:

    GroceryRules =  ml_fpgrowth(   trx_agg ) %>%   ml_fpgrowth_extract_rules() plot_rules(GroceryRules) Conclusion

    The complete R script can be found on my GitHub. If arules in R on your laptop is not workable anymore because of the size of your data, consider FPGrowth in Spark through sparklyr.

    cheers, Longhow

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: R – Longhow Lam's Blog. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    R live class | Professional R Programming | Nov 29-30 Milan

    Thu, 11/23/2017 - 19:13

    (This article was first published on R blog | Quantide - R training & consulting, and kindly contributed to R-bloggers)

     

    Professional R Programming is the sixth and last course of the autumn term. It takes place in November 29-30 in a location close to Milano Lima.
    If you have a solid R knowledge and want to boost your programming skills, this course is made for you.
    This course will give you an inner perspective of R working mechanisms, as well as tools for addressing your code’s issues and to make it more efficient. Once these concepts are established, you will learn how to create R packages and use them as the fundamental unit of reproducible R code.

    Professional R Programming: Outlines

    – Base Programming: environments, functions and loops
    – Functionals in base R
    – The purrr package
    – Code style and clarity
    – Profiling
    – Parallel computation
    – Testing and debugging
    – Documenting your code: rmarkdown
    – Sharing your code: github
    – R packages

    Professional R Programming is organized by the R training and consulting company Quantide and is taught in Italian, while all the course materials are in English.

    This course is for max 6 attendees.

    Location

    The course location is 550 mt. (7 minutes on walk) from Milano central station and just 77 mt. (1 minute on walk) from Lima subway station.

    Registration

    If you want to reserve a seat go to: FAQ, detailed program and tickets.

    Other R courses | Autumn term

    Sadly, this is the last course of the autumn term. Our next R classes’ session will be in Spring! Stay in touch for more updates.

    In case you are a group of people interested in more than one class, write us at training[at]quantide[dot]com! We can arrange together a tailor-made course, picking all the topics that are interesting for your organization and dropping the rest.

    The post R live class | Professional R Programming | Nov 29-30 Milan appeared first on Quantide – R training & consulting.

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: R blog | Quantide - R training & consulting. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    EARL Boston round up

    Thu, 11/23/2017 - 17:14

    (This article was first published on Mango Solutions, and kindly contributed to R-bloggers)

    Now we’ve recovered from over indulging in Boston’s culinary delights, we’re ready to share our highlights from this year’s EARL Boston Conference.

    Day 1 highlights

    Stack Overflow’s David Robinson kicked off the Conference, using Stack Overflow data to perform all sorts of interesting analyses. Highlights included trends in questions mentioning specific R packages over time, leading to the identification of rival R packages. We found that R is the least disliked language (because it’s the best obviously!); although David cautioned that often people who haven’t used R before haven’t heard of it either.

    Richie Cotton’s talk on how DataCamp is a ‘data-inspired’ organisation was particularly entertaining and he was a really engaging speaker. It was also great to hear from Emily Riederer about tidycf; she shared a really good example of the type of data-driven revolution taking place in many financial institutions.

    We also enjoyed Patrick Turgeon’s presentation on Quantitative Trading with R. His presentation portrayed quantitative trading as a scientific problem to be investigated using diverse sources of information, open source code and hard work. Free from jargon, Patrick demonstrated that placing bets on the markets does not have to be some mysterious art, but an analytic puzzle like any other.

    A brilliant first day was rounded out with an evening reception overlooking the Charles River, where we enjoyed drinks and a chance to catch up with everyone at the Conference. It was a great opportunity to chat with all the attendees to find out what talks they enjoyed and what ones they wanted to catch on day two.

    Day 2 highlights

    Mara Averick got things moving on day two with a witty and humble keynote talk on the importance of good communication in data science. She may have also confessed to getting R banned in her fantasy basketball league. From having to argue with the internet that Krieger’s most common distinctive phrase is “yep yep”, to always having the correct word for any situation, she gave a fantastic presentation; a key skill for any data scientist (even if she says she isn’t one!).

    Keeping up the theme of great communication in data science, Ali Zaidi gave a really clear rundown of what deep learning is, and how existing models can be reused to make pattern recognition practicably applicable even with modest hardware.

    Other highlights included both Alex Albright’s and Monika Wahi’s talks. Alex showed us lots of enjoyable small analyses and suggested ideas for finding fun datasets and encouraged us all to share our findings when experimenting. Monika Wahi discussed why SAS still dominates in healthcare and how we can convert people to R. She talked about how R is easier and nicer to read and showed us equivalent code in SAS and R to illustrate her point.

    It was tough, but we picked just a few of the many highlights from both days at EARL. Please tweet @EARLConf any of your EARL highlights so we can share them – we would love to see what people enjoyed the most.

    We’d like to thank all of our attendees for joining us, our fantastic speakers, and our generous sponsors for making EARL Boston the success it has been.

    To hear the latest news about EARL Conferences sign up to our mailing list, and we’ll let you know first when tickets are on sale.

    You can now find speaker slides (where available) on the EARL website – just click on the speaker profile and download the file.

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: Mango Solutions. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    Happy Thanksgiving!

    Thu, 11/23/2017 - 17:00

    (This article was first published on Revolutions, and kindly contributed to R-bloggers)

    Today is Thanksgiving Day here in the US, so we're taking the rest of the week off to enjoy the time with family.

    Even if you don't celebrate Thanksgiving, today is still an excellent day to give thanks to the volunteers who have contributed to the R project and its ecosystem. In particular, give thanks to the R Core Group, whose tireless dedication — in several cases over a period of more than 20 years — was and remains critical to the success and societal contributions of the language we use and love: R. You can contribute financially by becoming a Supporting Member of the R Foundation.

    var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

    To leave a comment for the author, please follow the link and comment on their blog: Revolutions. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

    Handling ‘Happy’ vs ‘Not Happy’: Better sentiment analysis with sentimentr in R

    Thu, 11/23/2017 - 15:00

    (This article was first published on R Programming – DataScience+, and kindly contributed to R-bloggers)

    Sentiment Analysis is one of the most obvious things Data Analysts with unlabelled Text data (with no score or no rating) end up doing in an attempt to extract some insights out of it and the same Sentiment analysis is also one of the potential research areas for any NLP (Natural Language Processing) enthusiasts.

    For an analyst, the same sentiment analysis is a pain in the neck because most of the primitive packages/libraries handling sentiment analysis perform a simple dictionary lookup and calculate a final composite score based on the number of occurrences of positive and negative words. But that often ends up in a lot of false positives, with a very obvious case being ‘happy’ vs ‘not happy’ – Negations, in general Valence Shifters.

    Consider this sentence: ‘I am not very happy’. Any Primitive Sentiment Analysis Algorithm would just flag this sentence positive because of the word ‘happy’ that apparently would appear in the positive dictionary. But reading this sentence we know this is not a positive sentence.

    While we could build our own way to handle these negations, there are couple of new R-packages that could do this with ease. One such package is sentimentr developed by Tyler Rinker.

    Installing the package

    sentimentr can be installed from CRAN or the development version can be installed from github.

    install.packages('sentimentr') #or library(devtools) install_github('trinker/sentimentr') Why sentimentr?

    The author of the package himself explaining what does sentimentr do that other packages don’t and why does it matter?

    “sentimentr attempts to take into account valence shifters (i.e., negators, amplifiers (intensifiers), de-amplifiers (downtoners), and adversative conjunctions) while maintaining speed. Simply put, sentimentr is an augmented dictionary lookup. The next questions address why it matters.”

    Sentiment Scoring:

    sentimentr offers sentiment analysis with two functions: 1. sentiment_by() 2. sentiment()

    Aggregated (Averaged) Sentiment Score for a given text with sentiment_by

    sentiment_by('I am not very happy', by = NULL) element_id sentence_id word_count sentiment 1: 1 1 5 -0.06708204

    But this might not help much when we have multiple sentences with different polarity, hence sentence-level scoring with sentiment would help here.

    sentiment('I am not very happy. He is very happy') element_id sentence_id word_count sentiment 1: 1 1 5 -0.06708204 2: 1 2 4 0.67500000

    Both the functions return a dataframe with four columns:

    1. element_id – ID / Serial Number of the given text
    2. sentence_id – ID / Serial Number of the sentence and this is equal to element_id in case of sentiment_by
    3. word_count – Number of words in the given sentence
    4. sentiment – Sentiment Score of the given sentence

    Extract Sentiment Keywords

    The extract_sentiment_terms() function helps us extract the keywords – both positive and negative that was part of the sentiment score calculation. sentimentr also supports pipe operator %>% which makes it easier to write multiple lines of code with less assignment and also cleaner code.

    'My life has become terrible since I met you and lost money' %>% extract_sentiment_terms() element_id sentence_id negative positive 1: 1 1 terrible,lost money Sentiment Highlighting:

    And finally, the highight() function coupled with sentiment_by() that gives a html output with parts of sentences nicely highlighted with green and red color to show its polarity. Trust me, This might seem trivial but it really helps while making Presentations to share the results, discuss False positives and to identify the room for improvements in the accuracy.

    'My life has become terrible since I met you and lost money. But I still have got a little hope left in me' %>% sentiment_by(by = NULL) %>% highlight()

    Output Screenshot:

    Try using sentimentr for your sentiment analysis and text analytics project and do share your feedback in comments. Complete code used here is available on my github.

      Related Post

      1. Creating Reporting Template with Glue in R
      2. Predict Employee Turnover With Python
      3. Making a Shiny dashboard using ‘highcharter’ – Analyzing Inflation Rates
      4. Time Series Analysis in R Part 2: Time Series Transformations
      5. Time Series Analysis in R Part 1: The Time Series Object
      var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

      To leave a comment for the author, please follow the link and comment on their blog: R Programming – DataScience+. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

      Arbitrary Data Transforms Using cdata

      Wed, 11/22/2017 - 17:36

      (This article was first published on R – Win-Vector Blog, and kindly contributed to R-bloggers)

      We have been writing a lot on higher-order data transforms lately:

      What I want to do now is "write a bit more, so I finally feel I have been concise."

      The cdata R package supplies general data transform operators.

      • The whole system is based on two primitives or operators cdata::moveValuesToRowsD() and cdata::moveValuesToColumnsD().
      • These operators have pivot, un-pivot, one-hot encode, transpose, moving multiple rows and columns, and many other transforms as simple special cases.
      • It is easy to write many different operations in terms of the cdata primitives.
      • These operators can work-in memory or at big data scale (with databases and Apache Spark; for big data we use the cdata::moveValuesToRowsN() and cdata::moveValuesToColumnsN() variants).
      • The transforms are controlled by a control table that itself is a diagram of or picture of the transform.

      We will end with a quick example, centered on pivoting/un-pivoting values to/from more than one column at the same time.

      Suppose we had some sales data supplied as the following table:

      SalesPerson Period BookingsWest BookingsEast a 2017Q1 100 175 a 2017Q2 110 180 b 2017Q1 250 0 b 2017Q2 245 0

      Suppose we are interested in adding a derived column: which region the salesperson made most of their bookings in.

      library("cdata") ## Loading required package: wrapr library("seplyr") d <- d %.>% dplyr::mutate(., BestRegion = ifelse(BookingsWest > BookingsEast, "West", ifelse(BookingsEast > BookingsWest, "East", "Both")))

      Our notional goal is (as part of a larger data processing plan) to reformat the data a thin/tall table or a RDF-triple like form. Further suppose we wanted to copy the derived column into every row of the transformed table (perhaps to make some other step involving this value easy).

      We can use cdata::moveValuesToRowsD() to do this quickly and easily.

      First we design what is called a transform control table.

      cT1 <- data.frame(Region = c("West", "East"), Bookings = c("BookingsWest", "BookingsEast"), BestRegion = c("BestRegion", "BestRegion"), stringsAsFactors = FALSE) print(cT1) ## Region Bookings BestRegion ## 1 West BookingsWest BestRegion ## 2 East BookingsEast BestRegion

      In a control table:

      • The column names specify new columns that will be formed by cdata::moveValuesToRowsD().
      • The values specify where to take values from.

      This control table is called "non trivial" as it does not correspond to a simple pivot/un-pivot (those tables all have two columns). The control table is a picture of of the mapping we want to perform.

      An interesting fact is cdata::moveValuesToColumnsD(cT1, cT1, keyColumns = NULL) is a picture of the control table as a one-row table (and this one row table can be mapped back to the original control table by cdata::moveValuesToRowsD(), these two operators work roughly as inverses of each other; though cdata::moveValuesToRowsD() operates on rows and cdata::moveValuesToColumnsD() operates on groups of rows specified by the keying columns).

      The mnemonic is:

      • cdata::moveValuesToColumnsD() converts arbitrary grouped blocks of rows that look like the control table into many columns.
      • cdata::moveValuesToRowsD() converts each row into row blocks that have the same shape as the control table.

      Because pivot and un-pivot are fairly common needs cdata also supplies functions that pre-populate the controls tables for these operations (buildPivotControlTableD() and buildUnPivotControlTable()).

      To design any transform you draw out the control table and then apply one of these operators (you can pretty much move from any block structure to any block structure by chaining two or more of these steps).

      We can now use the control table to supply the same transform for each row.

      d %.>% dplyr::mutate(., Quarter = substr(Period,5,6), Year = as.numeric(substr(Period,1,4))) %.>% dplyr::select(., -Period) %.>% moveValuesToRowsD(., controlTable = cT1, columnsToCopy = c('SalesPerson', 'Year', 'Quarter')) %.>% arrange_se(., c('SalesPerson', 'Year', 'Quarter', 'Region')) %.>% knitr::kable(.) SalesPerson Year Quarter Region Bookings BestRegion a 2017 Q1 East 175 East a 2017 Q1 West 100 East a 2017 Q2 East 180 East a 2017 Q2 West 110 East b 2017 Q1 East 0 West b 2017 Q1 West 250 West b 2017 Q2 East 0 West b 2017 Q2 West 245 West

      Notice we were able to easily copy the extra BestRegion values into all the correct rows.

      It can be hard to figure out how to specify such a transformation in terms of pivots and un-pivots. However, as we have said: by drawing control tables one can easily design and manage fairly arbitrary data transform sequences (often stepping through either a denormalized intermediate where all values per-instance are in a single row, or a thin intermediate like the triple-like structure we just moved into).

      var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

      To leave a comment for the author, please follow the link and comment on their blog: R – Win-Vector Blog. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

      Mapping “world cities” in R

      Wed, 11/22/2017 - 13:00

      (This article was first published on r-bloggers – SHARP SIGHT LABS, and kindly contributed to R-bloggers)



      Here at Sharp Sight, we make a lot of maps.

      There are a few reasons for this.

      First, good maps are typically ‘information dense.’ You can get a lot of information at a glance from a good map. They are good visualization tools for finding and communicating insights.

      Second, it’s extremely easy to get data that you can use to make a map. From a variety of sources, you’ll find data about cities, states, counties, and countries. If you know how to retrieve this data and wrangle it into shape, it will be easy to find data that you can use to make a map.

      Finally, map making is just good practice. To create a map like the one we’re about to make, you’ll typically need to use a variety of data wrangling and data visualization tools. Maps make for excellent practice for intermediate data scientists who have already mastered some of the basics.

      With that in mind, this week we’ll make a map of “world cities.” This set of cities has been identified by the Globalization and World Cities (GaWC) Research Network as being highly connected and influential in the world economy.

      We’re going to initially create a very basic map, but we’ll also create a small multiple version of the map (broken out by GaWC ranking).

      Let’s get started.

      First, we’ll load the packages that we’ll need.

      #============== # LOAD PACKAGES #============== library(tidyverse) library(ggmap) library(forcats)

      Next, we’ll input the cities by hard coding them as data frames. To be clear, there is more than one way to do this (e.g., we could scrape the data), but there isn’t that much data here, so doing this manually is acceptable.

      #=================== # INPUT ALPHA CITIES #=================== df_alpha_plus_plus <- tibble(city = c('London','New York')) df_alpha_plus <- tibble(city = c('Singapore', 'Hong Kong', 'Paris', 'Beijing' ,'Tokyo', 'Dubai', 'Shanghai')) df_alpha <- tibble(city = c('Sydney', 'São Paulo', 'Milan', 'Chicago' ,'Mexico City', 'Mumbai', 'Moscow', 'Frankfurt' ,'Madrid', 'Warsaw', 'Johannesburg', 'Toronto' ,'Seoul', 'Istanbul', 'Kuala Lumpur', 'Jakarta' ,'Amsterdam', 'Brussels', 'Los Angeles')) df_alpha_minus <- tibble(city = c('Dublin', 'Melbourne', 'Washington', 'New Delhi' ,'Bangkok', 'Zurich', 'Vienna', 'Taipei' ,'Buenos Aires', 'Stockholm', 'San Francisco' ,'Guangzhou', 'Manila', 'Bogotá', 'Miami', 'Luxembourg' ,'Riyadh', 'Santiago', 'Barcelona', 'Tel Aviv', 'Lisbon'))

      Now, we’ll create a new variable called rating. This will contain the global city rating.

      Notice that this is a very straightforward use of dplyr::mutate(), one of the tidyverse functions you should definitely master.

      #======================= # ADD GLOBAL CITY RATING #======================= df_alpha_plus_plus <- df_alpha_plus_plus %>% mutate(rating = 'alpha++') df_alpha_plus <- df_alpha_plus %>% mutate(rating = 'alpha+') df_alpha <- df_alpha %>% mutate(rating = 'alpha') df_alpha_minus <- df_alpha_minus %>% mutate(rating = 'alpha-')

      Next, we’ll combine the different data frames into one using rbind().

      #====================================== # COMBINE DATAFRAMES INTO ONE DATAFRAME #====================================== alpha_cities <- rbind(df_alpha_plus_plus ,df_alpha_plus ,df_alpha ,df_alpha_minus )

      Now that the data are combined into a single data frame, we’ll get the longitude and latitude using geocode().

      #======== # GEOCODE #======== latlong <- geocode(alpha_cities$city) #======== # INSPECT #======== alpha_cities latlong

      Once we have the longitude and latitude data, we need to combine it with the original data in the alpha_cities data frame. To do this, we will use cbind().

      #============================ # BIND LAT/LONG TO CITY NAMES #============================ alpha_cities <- cbind(alpha_cities, latlong) %>% rename(long = lon) alpha_cities #names(alpha_cities)

      Now we have the data that we need, but we’ll need to clean things up a little.

      In the visualization we’ll make, we will need to use the faceting technique from ggplot2. When we do this, we’ll facet on the rating variable, but we will need the levels of that variable to be ordered properly (otherwise the facets will be out of order).

      To reorder the factor levels of rating, we will use fct_relevel().

      #================================================ # REORDER LEVELS OF GLOBAL CITY RATING # - the global city ratings should be ordered # i.e., alpha++, then alpha+ .... # - to do this, we'll use forecats::fct_relevel() #================================================ alpha_cities <- mutate(alpha_cities, rating = fct_relevel(rating, 'alpha++','alpha+','alpha','alpha-')) levels(alpha_cities$rating)

      Because we will be building a map, we’ll need to retrive a map of the world. We can get a world map by using map_data(“world”).

      #============== # GET WORLD MAP #============== map_world <- map_data("world")

      Ok. We basically have everything we need. Now we will make a simple first draft.

      #================ # FIRST DRAFT MAP #================ ggplot() + geom_polygon(data = map_world, aes(x = long, y = lat, group = group)) + geom_point(data = alpha_cities, aes(x = long, y = lat), color = 'red')



      … and now we’ll use the faceting technique to break out our plot using the rating variable.

      #========================== # CREATE SMALL MULTIPLE MAP #========================== ggplot() + geom_polygon(data = map_world, aes(x = long, y = lat, group = group)) + geom_point(data = alpha_cities, aes(x = long, y = lat), color = 'red') + #facet_grid(. ~ rating) #facet_grid(rating ~ .) facet_wrap(~ rating)



      Once again, this is a good example of an intermediate-level project that you could do to practice your data wrangling and data visualization skills.

      Having said that, before you attempt to do something like this yourself, I highly recommend that you first master the individual tools that we used here (i.e., the tools from ggplot2, dplyr, and the tidyverse).

      Sign up now, and discover how to rapidly master data science

      To master data science, you need to master the essential tools.

      And to make rapid progress, you need to know what to learn, what not to learn, and you need to know how to practice what you learn.

      Sharp Sight is dedicated to teaching you how to master the tools of data science as quickly as possible.

      Sign up now for our email list, and you’ll receive regular tutorials and lessons.

      You’ll learn:

      • What data science tools you should learn (and what not to learn)
      • How to practice those tools
      • How to put those tools together to execute analyses and machine learning projects
      • … and more

      If you sign up for our email list right now, you’ll also get access to our “Data Science Crash Course” for free.

      SIGN UP NOW

      The post Mapping “world cities” in R appeared first on SHARP SIGHT LABS.

      var vglnk = { key: '949efb41171ac6ec1bf7f206d57e90b8' }; (function(d, t) { var s = d.createElement(t); s.type = 'text/javascript'; s.async = true; s.src = '//cdn.viglink.com/api/vglnk.js'; var r = d.getElementsByTagName(t)[0]; r.parentNode.insertBefore(s, r); }(document, 'script'));

      To leave a comment for the author, please follow the link and comment on their blog: r-bloggers – SHARP SIGHT LABS. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

      Pages