

{"id":3352,"date":"2015-03-26T08:23:04","date_gmt":"2015-03-26T13:23:04","guid":{"rendered":"http:\/\/rud.is\/b\/?p=3352"},"modified":"2018-03-10T08:01:08","modified_gmt":"2018-03-10T13:01:08","slug":"pre-cran-waffle-update-isotype-pictograms","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/","title":{"rendered":"Pre-CRAN waffle update &#8211; isotype pictograms"},"content":{"rendered":"<p>It seems <span class=\"removed_link\" title=\"https:\/\/mobile.twitter.com\/_r_c_a\">Ruben C. Arslan<\/span> had the <a href=\"http:\/\/rpubs.com\/rubenarslan\/waffle_plots\">waffle idea<\/a> about the same time I did. Apart from some extra spiffy XKCD-like styling, one other thing his waffling routines allowed for was using <a href=\"https:\/\/fontawesome.com\/icons\">FontAwesome<\/a> icons. When you use an icon vs a block, you are really making a basic version of isotype pictograms. They can add a dimension to the story you&#8217;re trying to tell without using any words. I&#8217;ve added two parameters to a pre-release CRAN version that I&#8217;d like folks to kick the tyres on a bit. Said parameters are <code>use_glyph<\/code>&#8212; which is either <code>FALSE<\/code> or a character string for a FontAwesome icon (more on that in a bit) &#8212; and <code>glyph_size<\/code> &#8212; which is a numeric value for the font size since it won&#8217;t scale when the graphic resizes.<\/p>\n<h4>Fonts in R &amp; waffle<\/h4>\n<p>One part of R that is (with apologies to Winston and others) weak is fonts. You <em>can<\/em> use fonts, but doing so is often not pretty (despite <a href=\"http:\/\/blog.revolutionanalytics.com\/2012\/09\/how-to-use-your-favorite-fonts-in-r-charts.html\">guidance<\/a> on the subject) and not without problems (we tried using a custom font again for this year&#8217;s DBIR graphics and failed miserably &#8212; again &#8212; due to font issues and R and had to have the graphics folks substitute them in).<\/p>\n<p>To use the FontAwesome glyphs you need to:<\/p>\n<ul>\n<li>grab the <code>ttf<\/code> version from <span class=\"removed_link\" title=\"https:\/\/github.com\/FortAwesome\/Font-Awesome\/tree\/master\/fonts\">here<\/span><\/li>\n<li>install it on your system<\/li>\n<li>install the <a href=\"https:\/\/github.com\/wch\/extrafont\">extrafont<\/a> package<\/li>\n<li>run <code>font_import()<\/code> (get some coffee\/scotch while you wait)<\/li>\n<li>load <code>extrafont<\/code> when you need to use these glyphs<\/li>\n<\/ul>\n<p>Once you do that, you&#8217;re probably ready to make isotype pictograms with <code>waffle<\/code>. I say <em>probably<\/em> since this process worked on two of my OS X systems but not a third. Same R version. Same RStudio version. Same import process. (This is part of the reason for my lament of the state of fonts since I&#8217;m not exactly an n00b with either R, Macs or fonts.)<\/p>\n<h3>Making isotype pictograms<\/h3>\n<p>I did borrow some code from Ruben, but I hate typing unicode characters and I suspect most folks do as well. If you do any work in straight HTML\/CSS, you know you can just refer to the various FontAwesome glyphs by name. To use FontAwesome glyphs with <code>waffle<\/code> you specify the font name (no <code>fa-<\/code> prefix) vs unicode character. If you want to see what&#8217;s available (and don&#8217;t want to bookmark the FontAwesome site) you can run either <code>fa_list()<\/code> which will give you a list of available FontAwesome glyph names or use <code>fa_grep()<\/code> and supply a pattern name. For example, running <code>fa_grep(\"car\")<\/code> gives you:<\/p>\n<pre lang=\"rsplus\">##  [1] \"car\"                  \"caret-down\"           \"caret-left\"          \n##  [4] \"caret-right\"          \"caret-square-o-down\"  \"caret-square-o-left\" \n##  [7] \"caret-square-o-right\" \"caret-square-o-up\"    \"caret-up\"            \n## [10] \"cart-arrow-down\"      \"cart-plus\"            \"cc-mastercard\"       \n## [13] \"credit-card\"          \"shopping-cart\" <\/pre>\n<p>Any <code>grep<\/code> regex will work in that function.<\/p>\n<p>You&#8217;ll need to <code>devtools::install_github(\"hrbrmstr\/waffle\", ref=\"cran\")<\/code> to use the dev\/pre-CRAN version of <code>waffle<\/code> before doing anything.<\/p>\n<p>To make an isotype pictogram version of the health records breaches waffle chart, you can do the following:<\/p>\n<pre lang=\"rsplus\">library(waffle)\nlibrary(extrafont)\nparts <- c(`Un-breached\\nUS Population`=(318-11-79), `Premera`=11, `Anthem`=79)\nwaffle(parts\/10, rows=3, colors=c(\"#969696\", \"#1879bf\", \"#009bda\"),\n       use_glyph=\"medkit\", size=8)<\/pre>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3354\" data-permalink=\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/isobreach\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png?fit=576%2C154&amp;ssl=1\" data-orig-size=\"576,154\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"isobreach\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png?fit=300%2C80&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png?fit=510%2C136&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png?resize=510%2C136&#038;ssl=1\" alt=\"isobreach\" width=\"510\" height=\"136\" class=\"aligncenter size-full wp-image-3354\" \/><\/p>\n<p>So, please kick the tyres, post comments about your font successes &amp; woes and definitely link to any isotype pictograms you create.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It seems Ruben C. Arslan had the waffle idea about the same time I did. Apart from some extra spiffy XKCD-like styling, one other thing his waffling routines allowed for was using FontAwesome icons. When you use an icon vs a block, you are really making a basic version of isotype pictograms. They can add [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[678,673,674,91],"tags":[810],"class_list":["post-3352","post","type-post","status-publish","format-standard","hentry","category-data-visualization","category-datavis-2","category-dataviz","category-r","tag-post"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pre-CRAN waffle update - isotype pictograms - rud.is<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pre-CRAN waffle update - isotype pictograms - rud.is\" \/>\n<meta property=\"og:description\" content=\"It seems Ruben C. Arslan had the waffle idea about the same time I did. Apart from some extra spiffy XKCD-like styling, one other thing his waffling routines allowed for was using FontAwesome icons. When you use an icon vs a block, you are really making a basic version of isotype pictograms. They can add [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-26T13:23:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-10T13:01:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png\" \/>\n<meta name=\"author\" content=\"hrbrmstr\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hrbrmstr\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"Pre-CRAN waffle update &#8211; isotype pictograms\",\"datePublished\":\"2015-03-26T13:23:04+00:00\",\"dateModified\":\"2018-03-10T13:01:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/\"},\"wordCount\":486,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"image\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png\",\"keywords\":[\"post\"],\"articleSection\":[\"Data Visualization\",\"DataVis\",\"DataViz\",\"R\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/\",\"url\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/\",\"name\":\"Pre-CRAN waffle update - isotype pictograms - rud.is\",\"isPartOf\":{\"@id\":\"https:\/\/rud.is\/b\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png\",\"datePublished\":\"2015-03-26T13:23:04+00:00\",\"dateModified\":\"2018-03-10T13:01:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png?fit=576%2C154&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png?fit=576%2C154&ssl=1\",\"width\":576,\"height\":154},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/rud.is\/b\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pre-CRAN waffle update &#8211; isotype pictograms\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rud.is\/b\/#website\",\"url\":\"https:\/\/rud.is\/b\/\",\"name\":\"rud.is\",\"description\":\"&quot;In God we trust. All others must bring data&quot;\",\"publisher\":{\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rud.is\/b\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\",\"name\":\"hrbrmstr\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"url\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"width\":460,\"height\":460,\"caption\":\"hrbrmstr\"},\"logo\":{\"@id\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\"},\"description\":\"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7\",\"sameAs\":[\"http:\/\/rud.is\"],\"url\":\"https:\/\/rud.is\/b\/author\/hrbrmstr\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pre-CRAN waffle update - isotype pictograms - rud.is","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/","og_locale":"en_US","og_type":"article","og_title":"Pre-CRAN waffle update - isotype pictograms - rud.is","og_description":"It seems Ruben C. Arslan had the waffle idea about the same time I did. Apart from some extra spiffy XKCD-like styling, one other thing his waffling routines allowed for was using FontAwesome icons. When you use an icon vs a block, you are really making a basic version of isotype pictograms. They can add [&hellip;]","og_url":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/","og_site_name":"rud.is","article_published_time":"2015-03-26T13:23:04+00:00","article_modified_time":"2018-03-10T13:01:08+00:00","og_image":[{"url":"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png","type":"","width":"","height":""}],"author":"hrbrmstr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hrbrmstr","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"Pre-CRAN waffle update &#8211; isotype pictograms","datePublished":"2015-03-26T13:23:04+00:00","dateModified":"2018-03-10T13:01:08+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/"},"wordCount":486,"commentCount":6,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"image":{"@id":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#primaryimage"},"thumbnailUrl":"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png","keywords":["post"],"articleSection":["Data Visualization","DataVis","DataViz","R"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/","url":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/","name":"Pre-CRAN waffle update - isotype pictograms - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#primaryimage"},"image":{"@id":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#primaryimage"},"thumbnailUrl":"https:\/\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png","datePublished":"2015-03-26T13:23:04+00:00","dateModified":"2018-03-10T13:01:08+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#primaryimage","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png?fit=576%2C154&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/03\/isobreach.png?fit=576%2C154&ssl=1","width":576,"height":154},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2015\/03\/26\/pre-cran-waffle-update-isotype-pictograms\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"Pre-CRAN waffle update &#8211; isotype pictograms"}]},{"@type":"WebSite","@id":"https:\/\/rud.is\/b\/#website","url":"https:\/\/rud.is\/b\/","name":"rud.is","description":"&quot;In God we trust. All others must bring data&quot;","publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rud.is\/b\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886","name":"hrbrmstr","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","width":460,"height":460,"caption":"hrbrmstr"},"logo":{"@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1"},"description":"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7","sameAs":["http:\/\/rud.is"],"url":"https:\/\/rud.is\/b\/author\/hrbrmstr\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p23idr-S4","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":12403,"url":"https:\/\/rud.is\/b\/2019\/07\/12\/quick-hit-waffle-1-0-font-awesome-5-pictograms-and-more\/","url_meta":{"origin":3352,"position":0},"title":"Quick Hit: {waffle} 1.0 Font Awesome 5 Pictograms and More","author":"hrbrmstr","date":"2019-07-12","format":false,"excerpt":"The {waffle} package got some ? this week and now has a substantially improved geom_waffle() along with a brand new sibling function geom_pictogram() which has all the powerful new features of geom_waffle() but lets you use Font Awesome 5 brand and solid glyphs to make isotype pictograms. A major new\u2026","rel":"","context":"In &quot;R&quot;","block_context":{"text":"R","link":"https:\/\/rud.is\/b\/category\/r\/"},"img":{"alt_text":"Isotype pictogram of food","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/07\/noms.png?fit=624%2C495&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/07\/noms.png?fit=624%2C495&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/07\/noms.png?fit=624%2C495&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":3325,"url":"https:\/\/rud.is\/b\/2015\/03\/18\/making-waffle-charts-in-r-with-the-new-waffle-package\/","url_meta":{"origin":3352,"position":1},"title":"Making waffle charts in R (with the new &#8216;waffle&#8217; package)","author":"hrbrmstr","date":"2015-03-18","format":false,"excerpt":"NOTE: The waffle package (sans JavaScript-y goodness) is up on CRAN so you can do an install.packages(\"waffle\") and library(waffle) vs the devtools dance. My disdain for pie charts is fairly well-known, but I do concede that there are times one needs to communicate parts of a whole graphically verses using\u2026","rel":"","context":"In &quot;Charts &amp; Graphs&quot;","block_context":{"text":"Charts &amp; Graphs","link":"https:\/\/rud.is\/b\/category\/charts-graphs\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4852,"url":"https:\/\/rud.is\/b\/2017\/01\/08\/2017-01-authored-package-updates\/","url_meta":{"origin":3352,"position":2},"title":"2017-01 Authored Package Updates","author":"hrbrmstr","date":"2017-01-08","format":false,"excerpt":"The rest of the month is going to be super-hectic and it's unlikely I'll be able to do any more to help the push to CRAN 10K, so here's a breakdown of CRAN and GitHub new packages & package updates that I felt were worth raising awareness on: epidata I\u2026","rel":"","context":"In &quot;dplyr&quot;","block_context":{"text":"dplyr","link":"https:\/\/rud.is\/b\/category\/dplyr\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/01\/epi2.png?fit=982%2C1200&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/01\/epi2.png?fit=982%2C1200&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/01\/epi2.png?fit=982%2C1200&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/01\/epi2.png?fit=982%2C1200&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":12772,"url":"https:\/\/rud.is\/b\/2020\/06\/01\/sergeant-0-9-0-is-on-its-way-to-cran-mirrors\/","url_meta":{"origin":3352,"position":3},"title":"{sergeant} 0.9.0 Is On Its Way to CRAN Mirrors!","author":"hrbrmstr","date":"2020-06-01","format":false,"excerpt":"Tis been a long time coming, but a minor change to default S3 parameters in tibbles finally caused a push of {sergeant} \u2014\u00a0the R package that lets you use the Apache Drill REST API via {DBI}, {dplyr}, or directly \u2014 to CRAN. The CRAN automatic processing system approved the release\u2026","rel":"","context":"In &quot;Apache Drill&quot;","block_context":{"text":"Apache Drill","link":"https:\/\/rud.is\/b\/category\/apache-drill\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3914,"url":"https:\/\/rud.is\/b\/2016\/02\/04\/alternate-r-markdown-templates\/","url_meta":{"origin":3352,"position":4},"title":"Alternate R Markdown Templates","author":"hrbrmstr","date":"2016-02-04","format":false,"excerpt":"The `knitr`\/R markdown system is a great way to organize reports and analyses. However, the built-in ones (that come with RStudio\/the `rmarkdown` package) rely on Bootstrap and also use jQuery. There's nothing wrong with that, but the generated standalone HTML documents (which are a great way to distribute reports) don't\u2026","rel":"","context":"In &quot;R&quot;","block_context":{"text":"R","link":"https:\/\/rud.is\/b\/category\/r\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":12225,"url":"https:\/\/rud.is\/b\/2019\/05\/26\/two-new-ways-to-make-dns-over-https-queries-in-r\/","url_meta":{"origin":3352,"position":5},"title":"Two New Ways to Make DNS over HTTPS Queries in R","author":"hrbrmstr","date":"2019-05-26","format":false,"excerpt":"A fair bit of time ago the {gdns} package made its way to CRAN to give R users the ability to use Google's (at that time) nascent support for DNS over HTTPS (DoH). A bit later on Cloudflare also provided a global DoH endpoint and that begat the (not-on-CRAN) {dnsflare}\u2026","rel":"","context":"In &quot;DNS&quot;","block_context":{"text":"DNS","link":"https:\/\/rud.is\/b\/category\/dns\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/3352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/comments?post=3352"}],"version-history":[{"count":0,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/3352\/revisions"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=3352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=3352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=3352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}