{"id":811,"date":"2015-02-27T14:18:27","date_gmt":"2015-02-27T21:18:27","guid":{"rendered":"http:\/\/homepages.uc.edu\/~yaozo\/wordpress\/?p=811"},"modified":"2015-02-27T14:18:27","modified_gmt":"2015-02-27T21:18:27","slug":"pivot-tables-in-r-with-dplyr","status":"publish","type":"post","link":"https:\/\/zhuoyao.net\/index.php\/2015\/02\/27\/pivot-tables-in-r-with-dplyr\/","title":{"rendered":"Pivot Tables in R with dplyr"},"content":{"rendered":"<header class=\"entry-header\">\n<h1 class=\"entry-title\">Pivot Tables in R with dplyr<\/h1>\n<div class=\"entry-meta\"><span class=\"posted-on\"><i class=\"icon-time\"> <\/i><a href=\"http:\/\/marcoghislanzoni.com\/blog\/2014\/09\/01\/pivot-tables-r-dplyr\/\" rel=\"bookmark\"><time class=\"entry-date published\" title=\"1 Sep 2014\" datetime=\"2014-09-01T12:48:33+00:00\">6 months ago<\/time><\/a><\/span> <span class=\"byline\"><i class=\"icon-user\"> <\/i><span class=\"author vcard\"><a class=\"url fn n\" href=\"http:\/\/marcoghislanzoni.com\/blog\/author\/admin\/\">Marco Ghislanzoni<\/a><\/span><\/span><\/div>\n<\/header>\n<div class=\"entry-content\">\n<div class=\"featured-image-single\"><img loading=\"lazy\" decoding=\"async\" class=\"attachment-post-thumbnail wp-post-image\" src=\"http:\/\/marcoghislanzoni.com\/blog\/wp-content\/uploads\/2013\/10\/Untitled.png\" alt=\"Untitled\" width=\"279\" height=\"289\" \/><\/div>\n<div id=\"yasr_visitor_votes_716\" class=\"yasr-visitor-votes\">\n<div id=\"yasr_rateit_visitor_votes_716\" class=\"rateit\" data-rateit-starwidth=\"16\" data-rateit-starheight=\"16\" data-rateit-value=\"4\" data-rateit-step=\"1\" data-rateit-resetable=\"false\" data-rateit-readonly=\"false\"><\/div>\n<p><span id=\"yasr-total-average-text_716\" class=\"yasr-total-average-text\" title=\"\">[Total: 4 \u00a0 \u00a0Average: 4\/5]<\/span><\/div>\n<p>The prolific\u00a0Hadley Wickham did it again! This time he came up, together with Romain Francois, with an amazing library for data manipulation that turns the task of making Pivot Tables in R a real breeze. Enter\u00a0<a href=\"http:\/\/cran.r-project.org\/web\/packages\/dplyr\">dplyr<\/a>. Along the lines of ggplot2, also from the same main author, dplyr implements a grammar of data manipulation and also introduces a new syntax using \u201cpipe\u201d operators.<\/p>\n<p>What is a \u201cpipe\u201d operator? Well, the best way to learn about it is to use it. Ready to experiment with dplyr? Let\u2019s get started.<\/p>\n<h1>1. Get the sample data file<\/h1>\n<p>We will be using the same Sales data file from my previous posts <a title=\"Pivot Tables in R with melt and cast\" href=\"http:\/\/marcoghislanzoni.com\/blog\/2013\/10\/11\/pivot-tables-in-r-with-melt-and-cast\/\">Pivot Tables in R with melt and cast<\/a> and <a title=\"Pivot Tables in R with aggregate\" href=\"http:\/\/marcoghislanzoni.com\/blog\/2014\/03\/13\/pivot-tables-r-aggregate\/\">Pivot Tables in R with aggregate<\/a>. Please refer to those posts for detailed instructions on how to download and prepare the data file for use in R.<\/p>\n<h1>2. Load the data file into R<\/h1>\n<p>This can be done simply with the command:<\/p>\n<div id=\"crayon-54f0dac543874871985411\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543874871985411-1\">1<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac543874871985411-1\" class=\"crayon-line\"><span class=\"crayon-v\">data<\/span> <span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">&#8211;<\/span> <span class=\"crayon-v\">read<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">csv<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;sales_data.csv&#8221;<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">header<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-t\">TRUE<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Here the first 6 rows from the resulting data frame:<\/p>\n<div id=\"crayon-54f0dac543885325278740\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543885325278740-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543885325278740-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543885325278740-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543885325278740-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543885325278740-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543885325278740-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543885325278740-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543885325278740-8\">8<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac543885325278740-1\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-e\">head<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac543885325278740-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-e\">Country <\/span><span class=\"crayon-e\">Salesperson <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">Date <\/span><span class=\"crayon-e\">OrderID <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">Amount<\/span><\/div>\n<div id=\"crayon-54f0dac543885325278740-3\" class=\"crayon-line\"><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">UK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Suyama<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37812<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10249<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1863.40<\/span><\/div>\n<div id=\"crayon-54f0dac543885325278740-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">USA\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37813<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10252<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">3597.90<\/span><\/div>\n<div id=\"crayon-54f0dac543885325278740-5\" class=\"crayon-line\"><span class=\"crayon-cn\">3<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">USA\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37814<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10250<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1552.60<\/span><\/div>\n<div id=\"crayon-54f0dac543885325278740-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">4<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">UK\u00a0\u00a0 <\/span><span class=\"crayon-i\">Dodsworth<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37817<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10255<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">2490.50<\/span><\/div>\n<div id=\"crayon-54f0dac543885325278740-7\" class=\"crayon-line\"><span class=\"crayon-cn\">5<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">USA\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37817<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10251<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">654.06<\/span><\/div>\n<div id=\"crayon-54f0dac543885325278740-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">6<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">UK\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Buchanan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37818<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10248<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">440.00<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h1>\u00a03. Install and load the dplyr library<\/h1>\n<p>dplyr is available directly from CRAN (the latest version is 0.2 at the time of this writing). It can be installed and made available to R with the following commands:<\/p>\n<div id=\"crayon-54f0dac54388e539705025\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac54388e539705025-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac54388e539705025-2\">2<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac54388e539705025-1\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-v\">install<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">packages<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-s\">&#8220;dplyr&#8221;<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac54388e539705025-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-r\">library<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">dplyr<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>After having loaded the dplyr library, you may get some warnings that some objects are masked by other packages. This is ok and it is not to worry about at this time.<\/p>\n<h1>4. Getting familiar with dplyr<\/h1>\n<p>dplyr comes with a set of functions that can be used to perform the most common manipulation on data. They all work on data frames and table data frames, a new \u201csmarter\u201d version of data frames supported by dplyr.<\/p>\n<p>You can convert a data frame to a table data frame through the<em> tbl_df()<\/em> function:<\/p>\n<div id=\"crayon-54f0dac543895333927700\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543895333927700-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543895333927700-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543895333927700-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543895333927700-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543895333927700-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543895333927700-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543895333927700-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543895333927700-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543895333927700-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543895333927700-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543895333927700-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543895333927700-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543895333927700-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543895333927700-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543895333927700-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac543895333927700-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac543895333927700-17\">17<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac543895333927700-1\" class=\"crayon-line\"><span class=\"crayon-v\">data_tdf<\/span> <span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">&#8211;<\/span> <span class=\"crayon-e\">tbl_df<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-e\">data_tdf<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-3\" class=\"crayon-line\"><span class=\"crayon-r\">Source<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-e\">local <\/span><span class=\"crayon-e\">data <\/span><span class=\"crayon-i\">frame<\/span> <span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">799<\/span> <span class=\"crayon-i\">x<\/span> <span class=\"crayon-cn\">5<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-4\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-54f0dac543895333927700-5\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-e\">Country <\/span><span class=\"crayon-e\">Salesperson <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">Date <\/span><span class=\"crayon-e\">OrderID <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">Amount<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">UK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Suyama<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37812<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10249<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1863.40<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-7\" class=\"crayon-line\"><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37813<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10252<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">3597.90<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">3<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37814<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10250<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1552.60<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-9\" class=\"crayon-line\"><span class=\"crayon-cn\">4<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">UK\u00a0\u00a0 <\/span><span class=\"crayon-i\">Dodsworth<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37817<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10255<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">2490.50<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">5<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37817<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10251<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">654.06<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-11\" class=\"crayon-line\"><span class=\"crayon-cn\">6<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">UK\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Buchanan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37818<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10248<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">440.00<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">7<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37818<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10253<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1444.80<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-13\" class=\"crayon-line\"><span class=\"crayon-cn\">8<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37819<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10256<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">517.80<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">9<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37824<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10257<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1119.90<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-15\" class=\"crayon-line\"><span class=\"crayon-cn\">10<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">UK\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Buchanan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37825<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10254<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">556.62<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-16\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><\/div>\n<div id=\"crayon-54f0dac543895333927700-17\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>While converting to a table data frame is strictly not necessary to use dplyr, the new format provides a smarter way to display large data sets with many variables (columns). Since our data set is pretty limited, we will keep working with our data in a data frame format. Note however that the output of most dplyr functions will\u00a0be\u00a0a table data frame, then converted back transparently to a data frame.<\/p>\n<h1>5. Data manipulation verbs<\/h1>\n<p>dplyr introduces five data manipulation verbs, namely<em>\u00a0filter()<\/em>, <em>arrange()<\/em>, <em>select()<\/em>, <em>mutate()<\/em> and <em>summarise()<\/em>. When it comes to the task of producing Pivot Tables, <em>summarise()<\/em> is our working horse.<\/p>\n<p>Note to my american friends: you can use <em>summarize()<\/em> in place of <em>summarise()<\/em> and it will work as well! <img decoding=\"async\" class=\"wp-smiley\" src=\"http:\/\/marcoghislanzoni.com\/blog\/wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><\/p>\n<p><em>summarise()<\/em> takes multiple rows of a data frame and summarises (collapses) them into a single one by applying a function, for example<em>sum()<\/em> to sum their values or <em>mean()<\/em> to calculate the average.<\/p>\n<p><em>summarise()<\/em> alone is not very useful though because it does not allow any grouping of the results before applying the summarizing function to the data. Since Pivot Tables are obtained by first grouping the rows according to the value of a variable (column) and then applying a summarizing function to each group, we need a way to group rows in dplyr first. Enter <em>group_by()<\/em>.<\/p>\n<h1>6. Group_by()<\/h1>\n<p><em>group_by()<\/em> enables data manipulation verbs to be applied to each subgroup of data, bringing then back the result of each group in a single data frame.<\/p>\n<p>Back to our sample data, we want to obtain the total amount each Sales Person has sold. Using dplyr, first we group the data by Salesperson with <em>group_by()<\/em>, then apply <em>summarise()<\/em> to each group to find the total sum.<\/p>\n<p>Since <em>group_by()<\/em> should be called first and the results passed to <em>summarise()<\/em>, we end up with the following fully working but quite convoluted syntax:<\/p>\n<div id=\"crayon-54f0dac5438a0852594858\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a0852594858-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a0852594858-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a0852594858-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a0852594858-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a0852594858-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a0852594858-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a0852594858-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a0852594858-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a0852594858-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a0852594858-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a0852594858-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a0852594858-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a0852594858-13\">13<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac5438a0852594858-1\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-e\">summarise<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">group_by<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">Salesperson<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-e\">sum<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-r\">Source<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-e\">local <\/span><span class=\"crayon-e\">data <\/span><span class=\"crayon-i\">frame<\/span> <span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">9<\/span> <span class=\"crayon-i\">x<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-3\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-e\">Salesperson <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">Amount<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-5\" class=\"crayon-line\"><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Buchanan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">68792.25<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Callahan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">123032.67<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-7\" class=\"crayon-line\"><span class=\"crayon-cn\">3<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Davolio<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">182500.09<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">4<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-i\">Dodsworth<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">75048.04<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-9\" class=\"crayon-line\"><span class=\"crayon-cn\">5<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Fuller<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">162503.78<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">6<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">King<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">116962.99<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-11\" class=\"crayon-line\"><span class=\"crayon-cn\">7<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">201196.27<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">8<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">225763.68<\/span><\/div>\n<div id=\"crayon-54f0dac5438a0852594858-13\" class=\"crayon-line\"><span class=\"crayon-cn\">9<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Suyama<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">72527.63<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>While the results are exactly as expected (please compare with the previous articles), the nested functions we had to use are pretty hard to read. Not surprisingly, the authors of dplyr have come up with a brilliant idea to simplify this complexity and make chained data operation extremely easy.<\/p>\n<h1>\u00a07. The pipe operator<\/h1>\n<p>What we are doing with the previous function calls is basically a chain of operations like this:<\/p>\n<ul>\n<li>take data<\/li>\n<li>group data by Salesperson using <em>group_by()<\/em><\/li>\n<li>take the result from the previous step and calculate the total for each group (aka Salesperson) it using <em>summarise()<\/em><\/li>\n<\/ul>\n<p>In other words, data goes into <em>group_by()<\/em> and the result of <em>group_by()<\/em> goes into <em>summarise()<\/em> producing the final pivot table.<\/p>\n<p>The \u201cpipe\u201d operator introduced by dplyr does exactly this. It sends a piece of data as input to a function and then allows the output from the function to go into another function and so on. Using the pipe operator, we can produce the exact same pivot tables with the following much more readable syntax:<\/p>\n<div id=\"crayon-54f0dac5438a9536637048\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a9536637048-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a9536637048-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a9536637048-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a9536637048-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a9536637048-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a9536637048-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a9536637048-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a9536637048-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a9536637048-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a9536637048-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a9536637048-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438a9536637048-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438a9536637048-13\">13<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac5438a9536637048-1\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-v\">data<\/span> <span class=\"crayon-o\">%<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">%<\/span> <span class=\"crayon-e\">group_by<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Salesperson<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">%<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">%<\/span> <span class=\"crayon-e\">summarise<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-e\">sum<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-v\">Source<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-e\">local <\/span><span class=\"crayon-e\">data <\/span><span class=\"crayon-i\">frame<\/span> <span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">9<\/span> <span class=\"crayon-i\">x<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-3\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-e\">Salesperson <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">Amount<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-5\" class=\"crayon-line\"><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Buchanan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">68792.25<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Callahan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">123032.67<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-7\" class=\"crayon-line\"><span class=\"crayon-cn\">3<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Davolio<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">182500.09<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">4<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-i\">Dodsworth<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">75048.04<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-9\" class=\"crayon-line\"><span class=\"crayon-cn\">5<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Fuller<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">162503.78<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">6<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">King<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">116962.99<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-11\" class=\"crayon-line\"><span class=\"crayon-cn\">7<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">201196.27<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">8<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">225763.68<\/span><\/div>\n<div id=\"crayon-54f0dac5438a9536637048-13\" class=\"crayon-line\"><span class=\"crayon-cn\">9<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Suyama<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">72527.63<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Where <em>%&gt;%<\/em> is the pipe operator. Basically we have taken our data frame data, we have sent it to <em>group_by()<\/em> telling it to group by Salesperson, then we have taken the output from\u00a0<em>group_by()<\/em> and sent it to <em>summarise()<\/em> telling it to summarise each group by calculating the total of Order. Amount within each group. Isn\u2019t it great? <img decoding=\"async\" class=\"wp-smiley\" src=\"http:\/\/marcoghislanzoni.com\/blog\/wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/><\/p>\n<p>No unnecessary repetition of data, no need to use temporary variable to store the results, no need to nest functions. Everything happens automatically behind the scenes and is amazingly fast on large data sets thanks to the use of optimized C\/C++ code. Great job Handy and Romain!!!<\/p>\n<h1>8. Filtering<\/h1>\n<p>How about doing some filtering too? Say that, like we did in a previous article, we want to product a Pivot Tables only for the Sales person in USA. We can achieve this easily with dplyr using the <em>filter()<\/em> verb. We filter the data before grouping and summarising them. Here is the syntax using again the pipe operator:<\/p>\n<div id=\"crayon-54f0dac5438b1305107172\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b1305107172-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b1305107172-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b1305107172-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b1305107172-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b1305107172-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b1305107172-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b1305107172-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b1305107172-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b1305107172-9\">9<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac5438b1305107172-1\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-v\">data<\/span> <span class=\"crayon-o\">%<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">%<\/span> <span class=\"crayon-e\">filter<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Country<\/span><span class=\"crayon-o\">==<\/span><span class=\"crayon-s\">&#8220;USA&#8221;<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">%<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">%<\/span> <span class=\"crayon-e\">group_by<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Salesperson<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">%<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">%<\/span> <span class=\"crayon-e\">summarise<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-e\">sum<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac5438b1305107172-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-r\">Source<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-e\">local <\/span><span class=\"crayon-e\">data <\/span><span class=\"crayon-i\">frame<\/span> <span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">5<\/span> <span class=\"crayon-i\">x<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div id=\"crayon-54f0dac5438b1305107172-3\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-54f0dac5438b1305107172-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-e\">Salesperson <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">Amount<\/span><\/div>\n<div id=\"crayon-54f0dac5438b1305107172-5\" class=\"crayon-line\"><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Callahan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">123032.7<\/span><\/div>\n<div id=\"crayon-54f0dac5438b1305107172-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Davolio<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">182500.1<\/span><\/div>\n<div id=\"crayon-54f0dac5438b1305107172-7\" class=\"crayon-line\"><span class=\"crayon-cn\">3<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Fuller<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">162503.8<\/span><\/div>\n<div id=\"crayon-54f0dac5438b1305107172-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">4<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">201196.3<\/span><\/div>\n<div id=\"crayon-54f0dac5438b1305107172-9\" class=\"crayon-line\"><span class=\"crayon-cn\">5<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">225763.7<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Fast, clean and easy to read!<\/p>\n<h1>9. Unleashing the power of dplyr<\/h1>\n<p>dplyr is particularly powerful also because it also allows multiple operations to be performed at once on the same data.<\/p>\n<p>For the sake of this example, let\u2019s add to our data set a fictitious\u00a0Quantity column, representing the quantity sold for each order. We do this by generating a normally distributed Unit Sales Price with mean = 10 and standard deviation = 1, then\u00a0calculating the Quantity as Order.Amount \/ Unit.Sales.Price.<\/p>\n<p>Even if calculating the Quantity requires the Unit Sales Price to be defined first, with dplyr we can do everything at once, that is in one single pass, using <em>mutate()<\/em>. Here is the syntax and the outcome:<\/p>\n<div id=\"crayon-54f0dac5438b9961256420\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b9961256420-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b9961256420-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b9961256420-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b9961256420-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b9961256420-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b9961256420-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b9961256420-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b9961256420-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b9961256420-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b9961256420-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b9961256420-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b9961256420-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b9961256420-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b9961256420-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438b9961256420-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438b9961256420-16\">16<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac5438b9961256420-1\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-v\">data<\/span> <span class=\"crayon-o\">&lt;<\/span><span class=\"crayon-o\">&#8211;<\/span> <span class=\"crayon-v\">data<\/span> <span class=\"crayon-o\">%<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">%<\/span> <span class=\"crayon-e\">mutate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Unit<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Sales<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Price<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-e\">rnorm<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">n<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-e\">n<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">mean<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">10<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">sd<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">Quantity<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-v\">Unit<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Sales<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Price<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-e\">head<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-3\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-e\">Country <\/span><span class=\"crayon-e\">Salesperson <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">Date <\/span><span class=\"crayon-e\">OrderID <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">Amount\u00a0\u00a0<\/span><span class=\"crayon-i\">Quantity<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">UK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Suyama<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37812<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10249<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1863.40<\/span> <span class=\"crayon-cn\">201.77949<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-5\" class=\"crayon-line\"><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">USA\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37813<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10252<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">3597.90<\/span> <span class=\"crayon-cn\">307.72409<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">3<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">USA\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37814<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10250<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1552.60<\/span> <span class=\"crayon-cn\">173.32053<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-7\" class=\"crayon-line\"><span class=\"crayon-cn\">4<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">UK\u00a0\u00a0 <\/span><span class=\"crayon-i\">Dodsworth<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37817<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10255<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">2490.50<\/span> <span class=\"crayon-cn\">266.73936<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">5<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">USA\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37817<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10251<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">654.06<\/span><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-cn\">67.22134<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-9\" class=\"crayon-line\"><span class=\"crayon-cn\">6<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">UK\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Buchanan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37818<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10248<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">440.00<\/span><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-cn\">40.88416<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">Unit<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Sales<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">Price<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-11\" class=\"crayon-line\"><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">9.234834<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">11.691967<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-13\" class=\"crayon-line\"><span class=\"crayon-cn\">3<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">8.957970<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">4<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">9.336830<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-15\" class=\"crayon-line\"><span class=\"crayon-cn\">5<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">9.729946<\/span><\/div>\n<div id=\"crayon-54f0dac5438b9961256420-16\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">6<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">10.762114<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Incidentally, note that the visualization of our modified data set wraps-around. Not very user friendly. Converting it to a table data frame makes its visualization nicer:<\/p>\n<div id=\"crayon-54f0dac5438c1928860699\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438c1928860699-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438c1928860699-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438c1928860699-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438c1928860699-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438c1928860699-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438c1928860699-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438c1928860699-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438c1928860699-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438c1928860699-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438c1928860699-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438c1928860699-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438c1928860699-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438c1928860699-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438c1928860699-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438c1928860699-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438c1928860699-16\">16<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac5438c1928860699-1\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-e\">tbl_df<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">data<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-v\">Source<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-e\">local <\/span><span class=\"crayon-e\">data <\/span><span class=\"crayon-i\">frame<\/span> <span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">799<\/span> <span class=\"crayon-i\">x<\/span> <span class=\"crayon-cn\">7<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-3\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-e\">Country <\/span><span class=\"crayon-e\">Salesperson <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">Date <\/span><span class=\"crayon-e\">OrderID <\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">Amount\u00a0\u00a0<\/span><span class=\"crayon-i\">Quantity<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-5\" class=\"crayon-line\"><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">UK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Suyama<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37812<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10249<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1863.40<\/span> <span class=\"crayon-cn\">201.77949<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37813<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10252<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">3597.90<\/span> <span class=\"crayon-cn\">307.72409<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-7\" class=\"crayon-line\"><span class=\"crayon-cn\">3<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37814<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10250<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1552.60<\/span> <span class=\"crayon-cn\">173.32053<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">4<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">UK\u00a0\u00a0 <\/span><span class=\"crayon-i\">Dodsworth<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37817<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10255<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">2490.50<\/span> <span class=\"crayon-cn\">266.73936<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-9\" class=\"crayon-line\"><span class=\"crayon-cn\">5<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37817<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10251<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">654.06<\/span><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-cn\">67.22134<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">6<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-e\">UK\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Buchanan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37818<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10248<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">440.00<\/span><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-cn\">40.88416<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-11\" class=\"crayon-line\"><span class=\"crayon-cn\">7<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37818<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10253<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1444.80<\/span> <span class=\"crayon-cn\">142.07045<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">8<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37819<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10256<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">517.80<\/span><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-cn\">56.71080<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-13\" class=\"crayon-line\"><span class=\"crayon-cn\">9<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">USA\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37824<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10257<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">1119.90<\/span> <span class=\"crayon-cn\">115.06074<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">10<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">UK\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Buchanan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">37825<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10254<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">556.62<\/span><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-cn\">60.60626<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-15\" class=\"crayon-line\"><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><\/div>\n<div id=\"crayon-54f0dac5438c1928860699-16\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-e\">Variables <\/span><span class=\"crayon-st\">not<\/span> <span class=\"crayon-v\">shown<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-v\">Unit<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Sales<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">Price<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">dbl<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Not only the new class table data frame \u00a0shows the dimensions of the data frame as [799 x 7], but it prints nicely without wrapping around and specifying that one variable, Unite.Sales.Price, was not displayed.<\/p>\n<p>Ok, now that we have our Quantities in place, we want to produce a Pivot Tables that has, for each sales person, the total amount sold and the average sold quantity. This is very easy too to achieve with dplyr. Here is the syntax:<\/p>\n<div id=\"crayon-54f0dac5438ca635731812\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438ca635731812-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438ca635731812-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438ca635731812-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438ca635731812-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438ca635731812-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438ca635731812-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438ca635731812-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438ca635731812-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438ca635731812-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438ca635731812-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438ca635731812-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438ca635731812-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438ca635731812-13\">13<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac5438ca635731812-1\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-v\">data<\/span> <span class=\"crayon-o\">%<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">%<\/span> <span class=\"crayon-e\">group_by<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Salesperson<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">%<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">%<\/span> <span class=\"crayon-e\">summarise<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Total<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-e\">sum<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">Average<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Quantity<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-e\">mean<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Quantity<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-v\">Source<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-e\">local <\/span><span class=\"crayon-e\">data <\/span><span class=\"crayon-i\">frame<\/span> <span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">9<\/span> <span class=\"crayon-i\">x<\/span> <span class=\"crayon-cn\">3<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-3\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-e\">Salesperson <\/span><span class=\"crayon-v\">Total<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">Amount <\/span><span class=\"crayon-v\">Average<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">Quantity<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-5\" class=\"crayon-line\"><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Buchanan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">68792.25<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">167.7801<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Callahan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">123032.67<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">125.1866<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-7\" class=\"crayon-line\"><span class=\"crayon-cn\">3<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Davolio<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">182500.09<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">156.8355<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">4<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-i\">Dodsworth<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">75048.04<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">188.9096<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-9\" class=\"crayon-line\"><span class=\"crayon-cn\">5<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Fuller<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">162503.78<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">176.6365<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">6<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">King<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">116962.99<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">183.9184<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-11\" class=\"crayon-line\"><span class=\"crayon-cn\">7<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">201196.27<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">159.4946<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">8<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">225763.68<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">150.8685<\/span><\/div>\n<div id=\"crayon-54f0dac5438ca635731812-13\" class=\"crayon-line\"><span class=\"crayon-cn\">9<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Suyama<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">72527.63<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">112.2168<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>In fact <em>summarise()<\/em> can process multiple variables at once, each one with a different summarisation function, or apply different summarisation functions to the same variable.<\/p>\n<p>Say, for example, we want to calculate for each sales person the total amount sold AND the maximum order size. This is very simple with dplyr compared to Excel, where you can only calculate one summary per column (unless you duplicate a column):<\/p>\n<div id=\"crayon-54f0dac5438d2825326513\" class=\"crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-mouseover\">\n<div class=\"crayon-toolbar\" data-settings=\" mouseover overlay hide delay\"><span class=\"crayon-title\">Multiple summaries of the same variable<\/span><\/p>\n<div class=\"crayon-tools\"><\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438d2825326513-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438d2825326513-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438d2825326513-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438d2825326513-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438d2825326513-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438d2825326513-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438d2825326513-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438d2825326513-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438d2825326513-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438d2825326513-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438d2825326513-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-54f0dac5438d2825326513-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-54f0dac5438d2825326513-13\">13<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-54f0dac5438d2825326513-1\" class=\"crayon-line\"><span class=\"crayon-o\">&gt;<\/span> <span class=\"crayon-v\">data<\/span> <span class=\"crayon-o\">%<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">%<\/span> <span class=\"crayon-e\">group_by<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Salesperson<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">%<\/span><span class=\"crayon-o\">&gt;<\/span><span class=\"crayon-o\">%<\/span> <span class=\"crayon-e\">summarise<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Total<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-e\">sum<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">Max<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-o\">=<\/span><span class=\"crayon-e\">max<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Amount<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-v\">Source<\/span><span class=\"crayon-o\">:<\/span> <span class=\"crayon-e\">local <\/span><span class=\"crayon-e\">data <\/span><span class=\"crayon-i\">frame<\/span> <span class=\"crayon-sy\">[<\/span><span class=\"crayon-cn\">9<\/span> <span class=\"crayon-i\">x<\/span> <span class=\"crayon-cn\">3<\/span><span class=\"crayon-sy\">]<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-3\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-e\">Salesperson <\/span><span class=\"crayon-v\">Total<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">Amount <\/span><span class=\"crayon-v\">Max<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">Order<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">Amount<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-5\" class=\"crayon-line\"><span class=\"crayon-cn\">1<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Buchanan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">68792.25<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">9210.90<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">2<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Callahan<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">123032.67<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">4825.00<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-7\" class=\"crayon-line\"><span class=\"crayon-cn\">3<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Davolio<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">182500.09<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">15810.00<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">4<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-i\">Dodsworth<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">75048.04<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">11380.00<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-9\" class=\"crayon-line\"><span class=\"crayon-cn\">5<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Fuller<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">162503.78<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">16387.50<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">6<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">King<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">116962.99<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">12615.05<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-11\" class=\"crayon-line\"><span class=\"crayon-cn\">7<\/span><span class=\"crayon-h\">\u00a0\u00a0 <\/span><span class=\"crayon-i\">Leverling<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">201196.27<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">10952.84<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-cn\">8<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-i\">Peacock<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">225763.68<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">11188.40<\/span><\/div>\n<div id=\"crayon-54f0dac5438d2825326513-13\" class=\"crayon-line\"><span class=\"crayon-cn\">9<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-i\">Suyama<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span class=\"crayon-cn\">72527.63<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">4707.54<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Well done! This is it for today. I plan to look again at dplyr and its handy pipe syntax in other upcoming posts. As always, your comments and remarks are more than welcome.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Pivot Tables in R with dplyr 6 months ago Marco Ghislanzoni [Total: 4 \u00a0 \u00a0Average: 4\/5] The prolific\u00a0Hadley Wickham did it again! This time he&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-811","post","type-post","status-publish","format-standard","hentry","category-r"],"_links":{"self":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts\/811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/comments?post=811"}],"version-history":[{"count":0,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/posts\/811\/revisions"}],"wp:attachment":[{"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/media?parent=811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/categories?post=811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zhuoyao.net\/index.php\/wp-json\/wp\/v2\/tags?post=811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}