1st Edition

R for Programmers Mastering the Tools

By Dan Zhang Copyright 2016
    374 Pages 112 B/W Illustrations
    by CRC Press

    Unlike other books about R, written from the perspective of statistics, R for Programmers: Mastering the Tools is written from the perspective of programmers, providing a channel for programmers with expertise in other programming languages to quickly understand R. The contents are divided into four sections: The first section consists of the basics of R, which explains the advantages of using R, the installation of different versions of R, and the 12 frequently used packages of R. This will help you understand the tool packages, time series packages, and performance monitoring packages of R quickly.

    The second section discusses the server of R, which examines the communication between R and other programming languages and the application of R as servers. This will help you integrate R with other programming languages and implement the server application of R. The third section discusses databases and big data, which covers the communication between R and various databases, as well as R’s integration with Hadoop. This will help you integrate R with the underlying level of other databases and implement the processing of big data by R, based on Hadoop.

    The fourth section comprises the appendices, which introduce the installation of Java, various databases, and Hadoop. Because this is a reference book, there is no special sequence for reading all the chapters. You can choose the chapters in which you have an interest. If you are new to R, and you wish to master R comprehensively, simply follow the chapters in sequence.

    BASICS OF R

    Basic R Packages
    R Is the Most Worthwhile Programming Language to Learn
    Installation of Different Versions of R
    fortunes: Records the Wisdom of R
    Using formatR to Format Codes Automatically
    Multiuser Online Collaboration of R Development: RStudio Server
    Foolproof Programming of R and JSON
    High-Quality Graphic Rendering Library of R Cairo
    A Peculiar Tool Set: caTools

    Basic Packages of Time Series
    Basic Time Series Library of R: zoo
    Extensible Time Series: xts
    Visualization of Time Series: plot.xts

    Performance Monitoring Packages of R
    Local Cache Tool of R: memoise
    Performance Monitoring Tool of R: Rprof
    Performance Visualization Tool of R: Lineprof

    R SERVER

    Cross-Platform Communication of R
    Cross-Platform Communication between Rserve and Java
    Rsession Makes It Easier for Java to Call R
    High-Speed Channel between R and rJava
    Cross-Platform Communication between Node.js and R

    Server Implementation of R
    A Detailed Elaboration of the Server Program of R: Rserve
    The Client of Rserve in R: RSclient
    An R Program Running on the Web: FastRWeb
    Building a WebSocket Server by R

    DATABASE AND BIG DATA

    Database and NoSQL
    Programming Guidance for the RMySQL Database
    Connecting R with NoSQL: MongoDB
    Connecting R with NoSQL: Redis
    Connecting R with NoSQL: Cassandra
    Connecting R with NoSQL: Hive
    Extract Reverse Repurchase Information from Historical Data Using RHive

    RHadoop
    R Has Injected Statistical Elements into Hadoop
    Installation and Use of RHadoop
    RHadoop Experiment: Count the Times of the Appearance of Certain E-Mail Addresses
    Implement the Collaborative Filtering Algorithm by RHadoop Based on MapReduce
    Installation and Use of RHBase
    Solve the Installation Error of RHadoop PipeMapRed.waitOutputThreads()

    Appendices
    Installation of a Java Environment
    Installation of MySQL
    Installation of Redis
    Installation of MongoDB
    Installation of Cassandra
    Installation of Hadoop
    Installation of the Hive Environment
    Installation of HBase

    Biography

    Dan Zhang currently works at Qutke in the field of internet finance, leading a startup business of quantitative investment. As a programmer, he has worked in the area of program development for over ten years. Dan has developed mobile games as well as programming tools, and has worked on large Web application systems, internal CRM of companies, system integration of SOA, and big data tools based on Hadoop. Outsourcing, ecommerce, group purchase, payment, SNS and mobile SNS are all within his working range. He is familiar with four programming languages: R, Java, PHP, and JavaScript, and is knowledgeable of mass data storage, data analysis, and machine learning. His blog (http://blog.fens.me/) has a lot of R language original article.