R Programming By Example
Omar Trejo Navarro, Peter C. Figliozzi
- 470 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
R Programming By Example
Omar Trejo Navarro, Peter C. Figliozzi
About This Book
This step-by-step guide demonstrates how to build simple-to-advanced applications through examples in R using modern tools.About This Book⢠Get a firm hold on the fundamentals of R through practical hands-on examples⢠Get started with good R programming fundamentals for data science⢠Exploit the different libraries of R to build interesting applications in RWho This Book Is ForThis books is for aspiring data science professionals or statisticians who would like to learn about the R programming language in a practical manner. Basic programming knowledge is assumed.What You Will Learn⢠Discover techniques to leverage R's features, and work with packages⢠Perform a descriptive analysis and work with statistical models using R⢠Work efficiently with objects without using loops⢠Create diverse visualizations to gain better understanding of the data⢠Understand ways to produce good visualizations and create reports for the results⢠Read and write data from relational databases and REST APIs, both packaged and unpackaged⢠Improve performance by writing better code, delegating that code to a more efficient programming language, or making it parallelIn DetailR is a high-level statistical language and is widely used among statisticians and data miners to develop analytical applications. Often, data analysis people with great analytical skills lack solid programming knowledge and are unfamiliar with the correct ways to use R. Based on the version 3.4, this book will help you develop strong fundamentals when working with R by taking you through a series of full representative examples, giving you a holistic view of R.We begin with the basic installation and configuration of the R environment. As you progress through the exercises, you'll become thoroughly acquainted with R's features and its packages. With this book, you will learn about the basic concepts of R programming, work efficiently with graphs, create publication-ready and interactive 3D graphs, and gain a better understanding of the data at hand. The detailed step-by-step instructions will enable you to get a clean set of data, produce good visualizations, and create reports for the results. It also teaches you various methods to perform code profiling and performance enhancement with good programming practices, delegation, and parallelization.By the end of this book, you will know how to efficiently work with data, create quality visualizations and reports, and develop code that is modular, expressive, and maintainable.Style and ApproachThis is an easy-to-understand guide filled with real-world examples, giving you a holistic view of R and practical, hands-on experience.
Frequently asked questions
Information
Implementing an Efficient Simple Moving Average
- Deciding how fast an implementation must be
- The importance of using good algorithms
- Reasons why R can be slow or inefficient at times
- The big performance impact small changes can have
- Measuring your code's performance to find bottlenecks
- Comparing different implementations among themselves
- Getting the most from your computer by parallelizing
- Improving performance by interfacing with other languages
Required packages
Packages | Reason |
ggplot2 | High-quality graphs |
lubridate | Easily transfer dates |
microbenchmark | Benchmark functions' performance |
Starting by using good algorithms
- Time complexity: This property refers to the number of calculations an algorithm needs to execute, in relation to the size of input it receives. There are various mathematical tools to measure this complexity, the most common one being Big-O notation, which measures the worst-case scenario for an algorithm.
- Space complexity: This property refers to the amount of memory required to execute the algorithm, again in relation to the size of the input it receives, and it can be also measured with the same mathematical tools.
Just how much impact can algorithm selection have?
fibonacci_recursive <- function(n) {
if(n <= 1) { return(n) }
return(fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2))
}
fibonacci_recursive(1) #> [1] 1
fibonacci_recursive(2) #> [1] 1
fibonacci_recursive(3) #> [1] 2
fibonacci_recursive(4) #> [1] 3
fibonacci_recursive(5) #> [1] 5
fibonacci_recursive(35) #> [1] 9227465