This course is intended for R and data science professionals aiming to master R. Intermediate and advanced users, will both find that this course will separate them from the rest of people doing analytics with R. We don't recommend this course on beginners.
We start by explaining how to work with closures, environments, dates, and more advanced topics. We then move into regex expressions and parsing html data. We explain how to write R packages, and write the proper documentation that the CRAN team expects if you want to upload your code into R's libraries. After that we introduce the necessary skills for profiling your R code. We then move into C++ and Rcpp, and we show how to write super fast C++ parallel code that uses OpenMP. Understanding and mastering Rcpp will allow you to push your R skills to another dimension. When your colleagues are writing R functions, you will be able to get Rcpp+OpenMP equivalent code running 4-8X times faster. We then move into Python and Java, and show how these can be called from R and vice-versa. This will be really helpful for writing code that leverages the excellent object oriented features from this pair of languages. You will be able to build your own classes in Java or Python that store the data that you get from R. Since the Python community is growing so fast, and producing so wonderful packages, it's great to know that you will be able to call any function from any Python package directly from R. We finally explain how to use sqldf, which is a wonderful package for doing serious, production grade data processing in R. Even though it has its limitations, we will be able to write SQL queries directly in R. We will certainly show how to bypass those limitations, such as its inability to write full joins using specific tricks.
All the code (R,JAVA,C++,.csv) used in this course is available for download, and all the lectures can be downloaded as well. Our teaching strategy is to present you with examples carrying the minimal complexity, so we hope you can easily follow each lecture. In case you have doubts or comments, feel free to send us a message