This article is a computer class of high-quality pre-sale recommendation >>>>"R's Geek Ideal-advanced development"
Senior R language users years of practical experience of the crystallization
Editor's recommendation
Senior R language users for many years, the crystallization of practical experience, introduce the core technology of R language itself and r language in different fields of cross-disciplinary comprehensive application, with the use of daily Chinese weather application cases and game development cases, uncover the complete R package development process, help readers create their own R package, open the idea of R language product.
Content Introduction
The book is based on the author's practical experience of using R language, The advanced programming of R language, supplemented by the comprehensive application of cross-boundary knowledge, involves four disciplines of computer, statistics, mathematics and finance. In the book, we first explain how to use R language to achieve mathematical calculation and create models, involving collaborative filtering algorithm, matrix-based PageRank algorithm, genetic algorithm and financial trading strategy model. Secondly, it introduces the environment space of R language, file system management and four object-oriented programming of S3, S4, RC and R6. Finally introduced the complete R package development process, and provides the daily Chinese weather application case and the game development case, helps the reader to create own R package, opens the R language product idea.
The book introduces a number of scenarios, not only from the academic point of view to complete the model design, but also the use of computer methods to achieve the product. Through the case study, R language users of different disciplines can stand in the perspective of others and find new ways of thinking.
This book is suitable for all r language workers, including software engineers, data scientists, researchers, and students of related majors.
Objective
Why did you write this book ?
This book is the second book of "R's Geek Ideal" series, which mainly introduces the core technology of R language itself, the advanced development and application of R language, and the interdisciplinary and comprehensive application of r language and other disciplines and knowledge fields.
In fact, in my first book, "R's Geek Ideal-tool", has introduced the use of more than 30 tools of r language, and in the perspective of it, tells readers how to use the third party R package effectively, the original it knowledge to the R language learning process. But because of the limited space of a book, "R's Geek Ideal-tool" only speaks of how to use the R language, there is no theory.
and this book will make up for this regret, mainly introduces the core technology of R language itself: including environment space, object-oriented, file management, mathematical calculation, R package development and other topics. I hope that through this book, we can give readers a deeper understanding of R language, mastering the core technology of R language, understanding the characteristics of the third-party package of R language, and even develop their own style of excellent R package. Perhaps, in the near future I will use you to develop the R package and save a lot of effort.
In addition, another highlight of the book is: R language and other disciplines of knowledge in different areas of interdisciplinary integrated application. In the book, I will show the reader without reservation: How I combine the R language with other knowledge to make R shine in different fields. Believe this part of the content will make a lot of readers in front of the light, for it Marvel, originally R can be so fun! Also hope that this part of the content can be inspired, so that the industry, the knowledge of the field of friends can contact R, the use of R. Today, the R language is no longer confined to the laboratory language used by scientists, it has the ability to actually develop applications, and is extremely intelligent and creative in mining data values, discovering data laws, and creating data wealth.
if the R language compared to a martial arts, "R's Geek Ideal-tool article" is the use of weapons cheats (such as what "hit the dog Stick Law" ah, "solitary nine Swords" ah, "small Li Fei Knife" ah), it can help you in a short time, convenient and effective to improve work efficiency, so that you in the R language to improve significantly But for a long time, you will encounter their own bottlenecks for various reasons, difficult to break through.
and this book is the internal strength of martial arts heart (such as what "nine Yang Canon", "North of the Magic" and so on, please, but do not take the "Sunflower Treasure Book," said the matter, thank you), not only introduced the R language itself, the core technology to help you through the two meridians, and focus on the R language in practice How to combine with other disciplines, fields, mastery, with no strokes to win the recruit, even the independence of the door to become a guru, these are possible! (cough, pull away!) )
here, I must again seriously emphasize that this book is not the beginning of the R language book, 0 basic friends should first add some basic knowledge of R language! This book includes the advanced content of R language development, reading this book, not only need you have r language experience, but also need you have a certain computer background knowledge and experience, only in this way, you can more deeply understand and use the book Experience summary.
The content of this book is entirely in the actual use of the R language I summed up, basically is I work in the use of R language of the real record, with R language Advanced development, which also involves computer, statistics, mathematics and finance four disciplines of knowledge.
The core content of this book includes two aspects, on the one hand is the advanced programming of R, the other is the comprehensive application of cross-boundary knowledge. For advanced programming of R, this book summarizes the definition and use of environment space of R language, the file system management, the newest version R 3.1.1 New features, let you experience the bottom design of R language, comprehensively introduced the four object-oriented system of R language Program design and use, through object-oriented programming, Let R language be able to make complex applications that conform to the real world, also introduced the complete R package development process, and provides the daily Chinese weather application case and the game development case, helps the reader to create own R package, opens the R language product idea.
for the integrated use of cross-border knowledge, R language can not only be used to easily carry out those headaches of the mathematical calculation, whether it is elementary mathematics or advanced mathematics, probability or statistics can be very easy and convenient, from now on the mathematics becomes no longer mysterious, remote unreachable. The R language can also be used to create various models, including the collaborative filtering algorithm model, the PageRank model based on matrix computation, the financial trading strategy model and the use of genetic algorithm. A few lines of code can make the idea in our mind into a running algorithm prototype.
in addition, although r is not particularly suitable for the development of games, but if the real R language Development game 2048, it will require 200 lines of code, and which language can rival it? In this case, someone must have asked, "Why do you use R to develop games?" "Why not use Java development?" "I do not use R development, and Java development is not the same?" In fact, I just want to use this way to show you the simple style of R language, free thinking, very imaginative creativity, I hope that with my "R geek" of the play mentality, triggering everyone's infinite imagination of R! In the end, it is exciting to have our model product and release a package of our own R that can be used by people all over the world.
in the communication with users of R language, I found that users with a programming background can write clean and efficient code, but because of lack of statistical knowledge, the model optimization can only be helpless and helpless, and those who have statistical background, although the user can independently complete a model design and optimization , but for how to implement the product is completely unable to find a way.
This book introduces a number of scenario cases, not only from the academic point of view to complete the design of the model, but also the use of computer methods to achieve products. Through the case study, R language users of different disciplines can stand in the other person's perspective and find new ways of thinking. This is another great highlight of the book!
for most programmers, learning the R language is easier, but using the R language is very difficult. Although the R language does not have the same complex program syntax as C + + +, it does not have to consider the global architecture as much as Java, and it is not as flexible as JavaScript, but the programming idea of the R language for the data itself is completely different from that of other programming languages. This makes it possible for many programmers to understand the syntax while using the R language, but still don't know how to apply it.
I think that learning R language is to find a personalized self, positioning themselves, the comprehensive use of their knowledge for interdisciplinary innovation, rather than to replicate the ideas of others. The cross-boundary application of R language requires that you have the comprehensive ability of basic disciplines (elementary mathematics, Advanced mathematics, linear algebra, probability theory, statistics) + Business knowledge (finance, biology, Internet) +it technology (R syntax, r package, database, algorithm), so only by upgrading their comprehensive knowledge level can we really learn R language well. In other words, once you have the R language, you will be irreplaceable.
here, I have to emphasize again that this book is not an introductory book, but a high-level development book for R language. This book does not speak of the introductory syntax for R, nor does it describe the use of the R language third-party package. However, if you already have a certain R language Foundation and want to produce your own R language model, I'll show you how to improve the reliability and scalability of your program and how to publish your own R packages.
This book is the second book of "R's Geek Ideal" series, the third book "R's Geek Ideal-quantitative investment" will introduce the application of R language in the financial field, build the trading model through R language, and realize the process of automated trading, really let the technical personnel turn their knowledge into value.
The use of the book environment includes Linux Ubuntu and Windows 72 operating systems, in each section has a clear identity, all the programs are in the R language 3.1.1 version of the test passed.
R language continues to progress, it will guide a data revolution, interdisciplinary integration is the trend of the times, but also our opportunity!
. Reader Object
This book is suitable for all the following R language workers
Software engineer with computer background;
Advanced users of the R language;
Data scientist with background in data analysis;
Statistical background of scientific research workers;
A college student who offers courses.
How to read this book
The contents of this book are divided into three parts. The first part is R's calculation and algorithm application (1th to 2nd chapter), introduced the knowledge architecture of R language, the support of R language to the basic discipline, and the realization of various algorithms through the basic disciplines, can help the reader to quickly understand the R language mathematical calculation methods and custom model algorithm development.
The second part is in-depth R Language Program development (3rd to 4th chapter), introduced the R language kernel-related programming, including the definition and use of environmental space, as well as the object-oriented method of program design and use, can help readers to understand the basic knowledge of R language, the object-oriented approach to design complex program structure.
The third part is to develop own R package (5th to 6th chapter), introduce the complete process of r package development, and provide daily Chinese weather application case and game development case, can help the reader to create their own R package, open the idea of R language product.
This book has a lot of comprehensive knowledge, in reading this book, it is recommended that readers order to read all the chapters.
Errata and Support
Due to the author's limited level, combined with the preparation of a hasty, the book will inevitably appear some errors or inaccurate places, I implore readers to criticize correct. To this end, the author has created an online book exchange website (http://onbook.me) to facilitate communication with the reader. If the reader is experiencing problems during the reading process, you can also leave a message on the official website and I will try to provide you with the most satisfactory answers online. All the source code in the book can be downloaded from the company website (www.hzbook.com) or the book Exchange website, I will update the code in a timely manner. If you have any valuable comments, please send email to [email protected] and look forward to receiving your sincere feedback.
Thanks
Thanks to my entrepreneurial team members Lin Weilin and Lin Weiping, the R language lets us walk together. Thanks to the editor of Ming Yongling, the mechanical industry press, he helped me to review all the chapters and guide me through the manuscript. Thank you to my father, mother and lover, thank you for my work support and life care!
I would like to dedicate this book to my dearest family and many R language lovers!
Zhang Dan
November 2014 in Beijing, China
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
R's Geek Ideal-advanced development