Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

LSESU a Taste of R Language Workshop

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
R slides
R slides
Wird geladen in …3
×

Hier ansehen

1 von 80 Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Andere mochten auch (20)

Anzeige

Ähnlich wie LSESU a Taste of R Language Workshop (20)

Anzeige

Aktuellste (20)

LSESU a Taste of R Language Workshop

  1. 1. a Taste of R Programming Kyle Akepanidtaworn, LSESU Data Science Society
  2. 2. About Me • Founder and President of LSESU Data Science Society (2016) • A General Course Student at LSE studying Econ & Stats • Former Big Data Intern at IMC Institute, Thailand • Former Teaching Assistant at Wesleyan University • Former Quantitative Consultant for the Connection in the course “intro to statistical consulting“ at Wesleyan • Programming & Stats Packages: R, Python, SPSS, SAS, STATA • Business Intelligence Tools: Tableau, Qilkview • Linkedin: https://uk.linkedin.com/in/korkridakepan
  3. 3. 7 Quick Facts about R • R is the highest paid IT skill (Dice.com survey, January 2014) • R most-used data science language after SQL (O'Reilly survey, January 2014) • R is used by 70% of data miners (Rexer survey, October 2013) • R is #15 of all programming languages (RedMonk language rankings, January 2014) • R growing faster than any other data science language (KDNuggets survey, August 2013) • R is the #1 Google Search for Advanced Analytics software (Google Trends, March 2014) • R has more than 2 million users worldwide (Oracle estimate, February 2012) • http://blog.revolutionanalytics.com/2014/0 4/seven-quick-facts-about-r.html
  4. 4. What is R? • Developed by Ross Ihaka and Robert Gentleman (statistician) • First appeared Aug 1993; 23 years ago • Some capabilities of R include: Software development Data analysis and visualization Polling, surveys of data miners Shiny application development Writing project report Creating the HTML presentation
  5. 5. Data Science War: R vs. Python Source: Which #superheroe are you?(#batman Vs. #Superman) == (#R Vs. #Python)?
  6. 6. R vs Python vs SAS (Analytics Vidhya)
  7. 7. Experience the Power of R Language!
  8. 8. Why Learn R? Outstanding Graphs Big Community! Friendly to New Users and Non-programmers Extremely Comprehensive Flexible & Fun! Open-source Language Cross-Platform Compatibility Advanced Statistical Language
  9. 9. • Facebook - For behavior analysis related to status updates and profile pictures. • Google - For advertising effectiveness and economic forecasting. • Twitter - For data visualization and semantic clustering • Microsoft - Acquired Revolution R company and use it for a variety of purposes. • Uber - For statistical analysis • Airbnb - Scale data science. • IBM - Joined R Consortium Group • ANZ - For credit risk modeling • HP • Ford • Novartis • Roche • New York Times - For data visualization • Mckinsey • BCG • Bain Companies Using R
  10. 10. Installation Guide 1. Go to https://cran.r-project.org/ (The Comprehensive R Archive Network) 2. Choose the platform (either Windows or Mac) that suits you 3. Follow the installation instruction…nothing tricky here 4. Download R-Studio, which is an add-on user interface of R programming. https://www.rstudio.com/
  11. 11. R Studio User Interface
  12. 12. Remark I encourage everyone to follow the latest development of R programming via R-Bloggers, CRAN R, and R Studio websites. There are always a tremendous number of developers who help ease the analysis task for the R users.
  13. 13. A Transition from Microsoft Excel to R? • Peter Flom, Independent statistical consultant for researchers in behavioral, social and medical sciences, has a compelling argument why Excel is such an undervalued tool for data analysis. • Excel isn’t undervalued as a tool for statistical analysis. If anything, it’s overvalued as such a tool. • Most competent analysts do not use Excel, not because it’s too easy, but other analytical tools have more statistical capabilities. • The default graphs in Excel are awful…other visualization tools outperform Microsoft Excel. • Learning statistics in Excel sometimes gives an imaginary idea about data analysis. Doing good statistics requires rigorously intensive training. • Excel cannot handle big data. If you are dealing with more than 1+ million data points, you need to seek help from R or Python. • It makes it harder than other programs to check the assumptions we made in analysis.
  14. 14. Migrate Microsoft Excel to R?
  15. 15. Teaching Outline Chapter 1: R in Point-and-Click • Rcommander • Menu in Rcommander • R vs. STATA vs. IBM SPSS • Why is Coding Critical? Chapter 2: Basics of R Programming • Basic and Complex Numerical Operations • R Basic Data Types  Numeric  Integer  Complex  Logical  Character Chapter 2: Basics of R (Cont’) • Matrix • Vector • List • Data Frame • For-Loop • Writing your functions Chapter 3: R for Data Science • Using External Data • Exploratory Data Analysis (EDA) • Predictive Modelling  Linear Regression  Classification  Clustering
  16. 16. RCommanderBasics in R in a non-programming way
  17. 17. R Commanders • Enables analysts to access a selection of commonly-used R commands. • Serves the important role of helping users to implement R commands and develop their knowledge and expertise in using the command line. • Comes with a number of plugins available that provide direct access to R packages.
  18. 18. The Complete Menu Trees: Rcmdr (i)
  19. 19. The Complete Menu Trees: Rcmdr (ii)
  20. 20. The Complete Menu Trees: Rcmdr (iii)
  21. 21. The Complete Menu Trees: Rcmdr (iv)
  22. 22. Comparing the statistical capabilities of software packages • A statistical consultant known only as "Stanford PhD" has put together a table comparing the statistical capabilities of the software packages R, Matlab, SAS, Stata and SPSS.
  23. 23. Comparing the statistical capabilities of software packages • For each of 57 methods (including techniques like "ridge regression", "survival analysis", "optimization") the author ranks the capabilities of each software package as "Yes" (fully supported), "Limited" or "Experimental". • R and Matlab capabilities outperform those of SAS, STATA, and SPSS. • Python, to the best of my knowledge, is not rich in statistical testing functions, so it lies somewhere between R and SAS. R 57 Matlab 57 SAS 42 Stata 29 SPSS 20
  24. 24. Should economists learn programming? Of course! As Keynes said: "The master-economist must possess a rare combination of gifts .... He must be mathematician, historian, statesman, programmer, philosopher -- in some degree. He must understand symbols, write code, and speak in words. He must contemplate the particular, in terms of the general, and touch abstract and concrete in the same flight of thought. He must study the present in the light of the past for the purposes of the future. He must be able to speak a common language with a computer scientist, a physicist and a sociologist. No part of man's nature or his institutions must be entirely outside his regard. He must be purposeful and disinterested in a simultaneous mood, as aloof and incorruptible as an artist, yet sometimes as near to earth as a politician.” --- Alex Teytelboym, Research Fellow in Economics at INET, University of Oxford
  25. 25. Why Coding? (I) • As a social science student at LSE, managing, analyzing, and playing with data is an important part of your work. (charts, curves, and trends etc.) • Without programming skills, your work becomes more limited. • Are you always relying upon manual calculations? • Are you hand-collecting the data when you can write the code to easily retrieve data? • Are you working with big data? Do you think excel will solve all data problems? • With code, you can increase multiply by a huge factor the amount of work or calculations you can perform, read millions of rows of data, try and find patterns or relations, compare oil prices to Reddit traffic, or the natality rate to the average interest earned by investors in Wyoming; whatever you can think of in a matter of minutes or hours and unleash your imagination.
  26. 26. Why Coding? (II) • Many experimental data requires you pull, clean and manipulate large sets of available and incoming data to run experiments based on some economic question you're testing. • If you can write code to do these tasks quickly and efficiently, you can iterate quickly through a lot more hypotheses you might want to test. • The cutting edge of economic research uses novel datasets and combines both theory and empirics. • Everyone in this room has different expectations of what they want to be able to do with data. In social science, analytics is very important, while computer programming with C++, Java, and similar languages are hardly necessary.
  27. 27. Everybody in this country should learn to program a computer… because it teaches you how to think - Steve Jobs, Co-Founder and CEO of Apple Inc. (1995 -2011)
  28. 28. R QuintessenceThe most disastrous thing that you can ever learn is your first programming language – Alan Kay
  29. 29. R Arithmetic and Logical Operators
  30. 30. Hey! Note that R is case sensitive!
  31. 31. R Basic Data Types • Numeric • Integer • Complex • Logical • Character Constants, variables and data types – BBC BiteSize Programming Course GCSE
  32. 32. R Data Structures (I) Figure: R Data Structures (AmazonS3 Website)
  33. 33. R Data Structures (II)
  34. 34. R Data Structures (III)
  35. 35. What are “Loops”? • “Looping”, “cycling”, “iterating” or just replicating instructions is an old practice that originated well before the invention of computers. It is nothing more than automating a multi-step process by organizing sequences of actions or ‘batch’ processes and by grouping the parts that need to be repeated. • All modern programming languages provide special constructs that allow for the repetition of instructions or blocks of instructions. • Broadly speaking, there are two types of these special constructs or loops in modern programming languages. Some loops execute for a prescribed number of times, as controlled by a counter or an index, incremented at each iteration cycle. These are part of the for loop family. • On the other hand, some loops are based on the onset and verification of a logical condition. The condition is tested at the start or the end of the loop construct. These variants belong to the while or repeat family of loops, respectively.
  36. 36. Looping in R Figure: a Tutorial on Loops in R (DataCamp)
  37. 37. Functions (I) • Functions are used to logically break our code into simpler parts which become easy to maintain and understand. • It's pretty straightforward to create your own function in R programming.
  38. 38. Functions (II) • Conceptually, given some inputs of x, we perform some computation to get the new output. • Some commonly known functions are mean, median, square root and summation etc.
  39. 39. Functions (III) • Fortunately, R provides some built-in functions that are widely used in mathematics and statistics:
  40. 40. Functions (IV)
  41. 41. Functions (V) • Writing functions should spring to your mind when you want to write your own chunk of codes and automate codes easily. • Creating your own functions begs some imagination and efficient coding skill. • Please revisit the workshop file for example in action! • Peace of mind: a vast community of R developers around the world collaborates in providing R useful packages, which saves us a lot of time and effort. • As you progress in data analysis with R, finding the right packages may provide a shortcut for your research project.
  42. 42. Top 10 R Packages
  43. 43. Packages are collections of R functions, data, and compiled code in a well-defined format. The directory where packages are stored is called the library. - Quick-R
  44. 44. R for Data ScienceWithout data, you’re just another person with an opinion
  45. 45. How to Import the Data Importing your data into R – R Tutorials by R-Bloggers
  46. 46. “The simple graph has brought more information to the data analyst’s mind than any other device.” - John Tukey
  47. 47. R for Data Science: Data Visualization • R has several systems for making graphs, but ggplot2 is one of the most elegant and most versatile. ggplot2 implements the grammar of graphics, a coherent system for describing and building graphs. With ggplot2, you can do more faster by learning one system and applying it in many places. • If you’d like to learn more about the theoretical underpinnings of ggplot2 before you start, I’d recommend reading “The Layered Grammar of Graphics”, http://vita.had.co.nz/papers/layered- grammar.pdf.
  48. 48. Examples of R Visualizations (I)
  49. 49. Examples of R Visualizations (II)
  50. 50. Examples of R Visualizations (III)
  51. 51. “Avoiding Chart Junks”, Tufte
  52. 52. Storytelling with data – a data visualization guide for business professionals
  53. 53. Simple Framework of Machine Learning
  54. 54. Statistical Modelling: Linear Regression
  55. 55. Statistical Modelling: Logistic Regression
  56. 56. Clustering Algorithms
  57. 57. Machine Learning Workflow
  58. 58. R Studio Tips and Tricks
  59. 59. R Studio Tips and Tricks These are not exactly coding tricks, but rather ways to make your life easier using key commands. • The up arrow on your keyboard will allow you to scroll up through your past commands • The tab key on your keyboard will help you (particularly in RStudio) by offering ways to finish your code. • When working within a .R or .Rmd file, you can put your cursor on a line and hit Cntrl + Enter to get the code to execute in the Console. (On a mac, Command + Enter.) • If you get stuck with some syntax (usually, mismatched parentheses or quotes), the R Console will change from the > at the beginning of the line (which means it is waiting for a new command) to the + at the beginning of the line (which means it is waiting for you to finish a command). To get out, hit the Escape key.
  60. 60. Tearable Panes Tearable panes are anything but terrible. This feature allows users to tear off data view panes and source panes facilitating the use of multiple screens.
  61. 61. Command History In the console it is possible to scroll through the command history by clicking Ctrl/Cmd and ↑. The command history will be filtered as code is typed into the console:
  62. 62. History Pane The history pane shows a searchable list of commands that have been run. Commands can be written to the source pane or the console. No more copy and paste from the console to a script!
  63. 63. Rename in Scope This feature makes it easy to rename all instances of a variable. The tool is context aware; changing ‘m’ to ‘m1’ won’t change ‘mtcars’ to ‘m1tcars’.
  64. 64. Gallery and Satellite View in Notebooks A new feature built into R Notebooks, a code chunk that produces multiple plots will produce a gallery. The plots can be viewed by toggling between thumbnails. The gallery can be expanded into a new satellite window for closer inspection.
  65. 65. Code Outline Save time scrolling with the code outline. This feature works for R Notebooks and traditional R scripts. In R Notebooks sections are delimited by the R Markdown headers. In R scripts sections are delimited by section comments (Try Code -> Insert Section).
  66. 66. Code Snippets Code snippets are a shortcut to insert common boilerplate code. For instance, type fun and then Tab to insert the skeleton code for a function definition. Then hit Tab to replace the necessary components. In addition to a rich set of defaults, custom code snippets can also be created.
  67. 67. File Navigation Many people know of RStudio’s rich set of tab complete options for functions and function arguments. Tab complete can also help find files and remove the hassle of writing out long path locations. Hit tab in between two double quotes (“ “) to open a file explorer.
  68. 68. Jump To Function Definition Want to dig into the innards of a function? With the cursor on a function press F2 to jump to the function definition, even for functions in a package.
  69. 69. Thanks! ANY QUESTIONS? You can find me at @Korkrid Ake datasciencesoc@lsesu.org
  70. 70. Further Resources R Language  Advanced R: http://adv-r.had.co.nz/  Bioconductor: https://www.bioconductor.org/  CRANberries: http://dirk.eddelbuettel.com/cranberries/  MRAN: https://mran.revolutionanalytics.com/  rOpenSci: https://ropensci.org/  R Project: https://www.r-project.org/  The R Journal: https://journal.r-project.org/ R Community  R Consortium: https://www.r-consortium.org/  R Weekly: https://rweekly.org/ Data Sciences  Apache Hadoop: http://hadoop.apache.org/  KDnuggets: http://www.kdnuggets.com/  R for Data Science: http://r4ds.had.co.nz/  sparklyr: http://spark.rstudio.com/  SparkR: https://spark.apache.org/docs/latest/sparkr.h tml  Tessera: http://tessera.io/
  71. 71. Further Resources Blogs  RStudio Blog: https://blog.rstudio.org/  BLOGR: https://drsimonj.svbtle.com/  Mad (Data) Scientist: https://matloff.wordpress.com/  R Bloggers: https://www.r-bloggers.com/  R Consortium Blog: https://www.r- consortium.org/news/blog  Revolutions Blog: http://blog.revolutionanalytics.com  rOpenSci Blog: https://ropensci.org/blog/  Simply Statistics: http://simplystatistics.org/  Statistical Modeling, Causal Inference, and Social Science: http://andrewgelman.com/  StatsBlogs: http://www.statsblogs.com/  Win-Vector Blog: http://www.win-vector.com/blog/ Statistics  Journal of Statistical Software: https://www.jstatsoft.org/index  Forecasting: principles and practice: https://www.otexts.org/fpp  From Algorithms to Z-Scores: http://heather.cs.ucdavis.edu/~matloff/132/PLN/P robStatBookW16ECS132.pdf  Statistical Foundations of Machine Learning: https://www.otexts.org/book/sfml  The Elements of Statistical Learning: http://statweb.stanford.edu/~tibs/ElemStatLearn/p rintings/ESLII_print10.pdf
  72. 72. DataCamp: Learning R by Doing
  73. 73. Udemy R Courses • Another company is Udemy. While they do not offer video + interactive sessions like DataCamp • They do offer extensive video lessons, covering some other topics in using R and learning statistics. • The Comprehensive Programming in R Course (25 Hours of video) • Graphs in R (ggplot2, plotrix, base R) – Data Visualization with R Programming Language (5 Hours of video) • Linear Mixed-Effects Models with R (11 Hours of video) • Multivariate Data Visualization with R (7 Hours of video) • Applied Multivariate Analysis with R (13 Hours of video) • More Data Mining with R (11 Hours of video) • Text Mining, Scraping and Sentiment Analysis with R (4 Hours of video) • R Programming for Simulation and Monte Carlo Methods (12 Hours of video) • Programming Statistical Applications in R (12 Hours of video) • Comprehensive Linear Modeling with R (15 Hours of video) • Bayesian Computational Analyses with R (12 Hours of video) • Time Series Analysis and Forecasting in R (3 Hours of video)

×