

{"id":5123,"date":"2017-03-03T17:49:44","date_gmt":"2017-03-03T22:49:44","guid":{"rendered":"https:\/\/rud.is\/b\/?p=5123"},"modified":"2018-03-10T07:54:27","modified_gmt":"2018-03-10T12:54:27","slug":"candy-coated-confidence-intervals","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/","title":{"rendered":"Candy Coated Confidence Intervals"},"content":{"rendered":"<p>@mrshrbrmstr hinted that she would like <a href=\"https:\/\/blogs.sas.com\/content\/iml\/2017\/02\/20\/proportion-of-colors-mandms.html\">this post by @RickWicklin<\/a> translated into R for her stats class. She&#8217;s quite capable of cranking out the translation of the core component of that post \u2014 a call to <code>chisq.test<\/code> \u2014 but she wanted to show the entire post (in R) and really didn&#8217;t have time (she&#8217;s teaching a full load of classes and is department chair + a mom). I suggested that I, too, was a bit short on time which resulted in her putting out a call to the twitterverse for assistance which ultimately ended up coercing me into tackling the problem.<\/p>\n<p>I won&#8217;t re-create Rick&#8217;s post or my riff of it here since you can <a href=\"http:\/\/rpubs.com\/hrbrmstr\/mms\">check out the RPubs page<\/a> for it and also <a href=\"https:\/\/gist.github.com\/hrbrmstr\/b088f26e71e8d88c0cc499b0f0a21344\">get the source<\/a> (you can get the source from the Rmd, too, but some folks like gists better).<\/p>\n<p>So, why a blog post if not to present the translation?<\/p>\n<p>Two reasons: I needed tidy Goodman simultaneous confidence intervals (SCIs) and Rick&#8217;s final plot was just <em>begging<\/em> to have &#8220;real&#8221; M&amp;M&#8217;s as the point &#8220;geom&#8221;.<\/p>\n<h3>S[c]imple &amp; Tidy SCIs<\/h3>\n<p>We&#8217;ve got options for calculating simultaneous CIs in R and I could have just used <code>DescTools::MultinomCI<\/code> except that I wanted a <code>tibble<\/code> and it returns a matrix plus it only has three of the more common methods implemented (yes, I am the ultimate package snob). I recalled that the <code>CoinMinD<\/code> package was tailor made for working with SCIs and has many more methods implemented, but the output is actually only that: <strong><code>print()<\/code>ed to console output<\/strong>.<\/p>\n<p>Yes, I shouted in disbelief at the glowing rectangle in front of me when I noticed that almost as loudly as you did when you read that sentence.<\/p>\n<p>The algorithms implemented in <code>CoinMinD<\/code> are just dandy and the package is coming up on it&#8217;s 4th birthday. So, as a present from it (via me) to the R community, I whipped together <a href=\"https:\/\/github.com\/hrbrmstr\/scimple\"><code>scimple<\/code><\/a> which generates tidy tibbles and has a function <code>scimple_ci()<\/code> which is similar to <code>binom::binom.confint()<\/code> in that it will generate the SCIs for all the available (non-Bayesian) methods, including Goodman.<\/p>\n<p>Kick the tyres (pls!) and drop issues and\/or PRs as you see fit.<\/p>\n<h3>You can&#8217;t plot just one<\/h3>\n<p>Rick&#8217;s post analyzes distributions of M&amp;M&#8217;s so I went to the <a href=\"http:\/\/www.mms.com\/\">official M&amp;M&#8217;s site<\/a> to grab the official colors for the ones in his data set. I casually went about making the rest of the post with standard points with a superimposed white &#8220;m&#8221; when it dawned on me that the M&amp;M&#8217;s site used those lentils (yes, it seems the candies are called lentils, or at least their icons are) were <em>all over<\/em> the site. After some site spelunking with Chrome Developer Tools I had the URLs for the candies in question and managed to use the nascent <code>ggimage::geom_image()<\/code> to place them on the plot:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"5124\" data-permalink=\"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/cleveland-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/03\/cleveland-1.png?fit=1824%2C1920&amp;ssl=1\" data-orig-size=\"1824,1920\" 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=\"cleveland-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/03\/cleveland-1.png?fit=510%2C537&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/03\/cleveland-1.png?resize=510%2C537&#038;ssl=1\" alt=\"\" width=\"510\" height=\"537\" class=\"aligncenter size-full wp-image-5124\" \/><\/p>\n<p>The plot is a bit sparse as you have to get the aspect ratio <em>just right<\/em> to keep those tasty, tiny circles as circles.<\/p>\n<p>The new <code>geom_image()<\/code> opens up many new possibilities for R visualizations (and not all are good possibilities). I think @mrshrbrmstr&#8217;s students got a kick out of a stats-y plot having real M&amp;M&#8217;s on it so it worked OK this time. Just be wary of using gratuitous imagery and overdoing your watermarking.<\/p>\n<p>As stated earlier you can <a href=\"https:\/\/gist.github.com\/hrbrmstr\/b088f26e71e8d88c0cc499b0f0a21344\">get the code<\/a> and see how you can improve upon Rick&#8217;s original post and my attempt at a quick riff. If you do end up cranking something out, drop a comment here or a tweet (@hrbrmstr) to show off your creation(s)!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>@mrshrbrmstr hinted that she would like this post by @RickWicklin translated into R for her stats class. She&#8217;s quite capable of cranking out the translation of the core component of that post \u2014 a call to chisq.test \u2014 but she wanted to show the entire post (in R) and really didn&#8217;t have time (she&#8217;s teaching [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5124,"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":[753,91],"tags":[810],"class_list":["post-5123","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ggplot","category-r","tag-post"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Candy Coated Confidence Intervals - 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\/2017\/03\/03\/candy-coated-confidence-intervals\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Candy Coated Confidence Intervals - rud.is\" \/>\n<meta property=\"og:description\" content=\"@mrshrbrmstr hinted that she would like this post by @RickWicklin translated into R for her stats class. She&#8217;s quite capable of cranking out the translation of the core component of that post \u2014 a call to chisq.test \u2014 but she wanted to show the entire post (in R) and really didn&#8217;t have time (she&#8217;s teaching [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2017-03-03T22:49:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-10T12:54:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/03\/cleveland-1.png?fit=1824%2C1920&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1824\" \/>\n\t<meta property=\"og:image:height\" content=\"1920\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"Candy Coated Confidence Intervals\",\"datePublished\":\"2017-03-03T22:49:44+00:00\",\"dateModified\":\"2018-03-10T12:54:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/\"},\"wordCount\":614,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"image\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2017\\\/03\\\/cleveland-1.png?fit=1824%2C1920&ssl=1\",\"keywords\":[\"post\"],\"articleSection\":[\"ggplot\",\"R\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/\",\"url\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/\",\"name\":\"Candy Coated Confidence Intervals - rud.is\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2017\\\/03\\\/cleveland-1.png?fit=1824%2C1920&ssl=1\",\"datePublished\":\"2017-03-03T22:49:44+00:00\",\"dateModified\":\"2018-03-10T12:54:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2017\\\/03\\\/cleveland-1.png?fit=1824%2C1920&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2017\\\/03\\\/cleveland-1.png?fit=1824%2C1920&ssl=1\",\"width\":1824,\"height\":1920},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2017\\\/03\\\/03\\\/candy-coated-confidence-intervals\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/rud.is\\\/b\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Candy Coated Confidence Intervals\"}]},{\"@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":"Candy Coated Confidence Intervals - 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\/2017\/03\/03\/candy-coated-confidence-intervals\/","og_locale":"en_US","og_type":"article","og_title":"Candy Coated Confidence Intervals - rud.is","og_description":"@mrshrbrmstr hinted that she would like this post by @RickWicklin translated into R for her stats class. She&#8217;s quite capable of cranking out the translation of the core component of that post \u2014 a call to chisq.test \u2014 but she wanted to show the entire post (in R) and really didn&#8217;t have time (she&#8217;s teaching [&hellip;]","og_url":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/","og_site_name":"rud.is","article_published_time":"2017-03-03T22:49:44+00:00","article_modified_time":"2018-03-10T12:54:27+00:00","og_image":[{"width":1824,"height":1920,"url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/03\/cleveland-1.png?fit=1824%2C1920&ssl=1","type":"image\/png"}],"author":"hrbrmstr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hrbrmstr","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"Candy Coated Confidence Intervals","datePublished":"2017-03-03T22:49:44+00:00","dateModified":"2018-03-10T12:54:27+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/"},"wordCount":614,"commentCount":6,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"image":{"@id":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/03\/cleveland-1.png?fit=1824%2C1920&ssl=1","keywords":["post"],"articleSection":["ggplot","R"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/","url":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/","name":"Candy Coated Confidence Intervals - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/#primaryimage"},"image":{"@id":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/03\/cleveland-1.png?fit=1824%2C1920&ssl=1","datePublished":"2017-03-03T22:49:44+00:00","dateModified":"2018-03-10T12:54:27+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/#primaryimage","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/03\/cleveland-1.png?fit=1824%2C1920&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/03\/cleveland-1.png?fit=1824%2C1920&ssl=1","width":1824,"height":1920},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2017\/03\/03\/candy-coated-confidence-intervals\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"Candy Coated Confidence Intervals"}]},{"@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":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/03\/cleveland-1.png?fit=1824%2C1920&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p23idr-1kD","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":10243,"url":"https:\/\/rud.is\/b\/2018\/05\/03\/seventeen-minutes-from-tweet-to-package\/","url_meta":{"origin":5123,"position":0},"title":"Seventeen Minutes From Tweet To Package","author":"hrbrmstr","date":"2018-05-03","format":false,"excerpt":"Earlier today, @noamross posted to Twitter: #rstats #lazyweb What's the R\/httr\/curl equivalent of curl -F \"file=@somefile.html\" https:\/\/t.co\/abbugLz9ZW\u2014 Noam Ross (@noamross) May 3, 2018 The answer was a 1:1 \"file upload\" curl to httr translation: but I wanted to do more than that since Noam took 20 minutes out his day\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":12841,"url":"https:\/\/rud.is\/b\/2020\/11\/18\/apple-silicon-big-sur-rstudio-r-field-report\/","url_meta":{"origin":5123,"position":1},"title":"Apple Silicon + Big Sur + RStudio + R Field Report","author":"hrbrmstr","date":"2020-11-18","format":false,"excerpt":"It's been a while since I've posted anything R-related and, while this one will be brief, it may be of use to some R folks who have taken the leap into Big Sur and\/or Apple Silicon. Stay to the end for an early Christmas ?! Big Sur Report As #rstats\u2026","rel":"","context":"In &quot;macOS&quot;","block_context":{"text":"macOS","link":"https:\/\/rud.is\/b\/category\/macos\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4429,"url":"https:\/\/rud.is\/b\/2016\/06\/12\/on-whether-y-axis-labels-are-always-necessary\/","url_meta":{"origin":5123,"position":2},"title":"On Whether Y-axis Labels Are Always Necessary","author":"hrbrmstr","date":"2016-06-12","format":false,"excerpt":"The infamous @albertocairo [blogged about](http:\/\/www.thefunctionalart.com\/2016\/06\/propublica-visualizes-seasonality-in.html) a [nice interactive piece on German company tax avoidance](https:\/\/projects.propublica.org\/graphics\/dividend) by @ProPublica. Here's a snapshot of their interactive chart: ![](https:\/\/2.bp.blogspot.com\/-S-8bu1UdYWM\/V1rXibnBxrI\/AAAAAAAAGo0\/L940SpU3DvUPX90JK82jrKQN6fWMyn2IACLcB\/s1600\/1prop.png) Dr. Cairo (his PhD is in the bag as far as I'm concerned :-) posited: >_Isn't it weird that the chart doesn't have a scale on\u2026","rel":"","context":"In &quot;Data Visualization&quot;","block_context":{"text":"Data Visualization","link":"https:\/\/rud.is\/b\/category\/data-visualization\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Plot_Zoom.png?fit=1200%2C1036&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Plot_Zoom.png?fit=1200%2C1036&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Plot_Zoom.png?fit=1200%2C1036&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Plot_Zoom.png?fit=1200%2C1036&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/06\/Plot_Zoom.png?fit=1200%2C1036&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":12138,"url":"https:\/\/rud.is\/b\/2019\/04\/10\/lost-in-sql-translation-charting-dbplyr-mapped-sql-function-support-across-all-backends\/","url_meta":{"origin":5123,"position":3},"title":"Lost In [SQL] Translation: Charting d[b]plyr Mapped SQL Function Support Across All Backends","author":"hrbrmstr","date":"2019-04-10","format":false,"excerpt":"Like more posts than I care to admit, this one starts innocently enough with a tweet by @gshotwell: Is there a reference document somewhere of which dplyr commands work on various database backends? #rstats\u2014 Gordon Shotwell (@gshotwell) April 9, 2019 Since I use at least 4 different d[b]plyr backends every\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\/2019\/04\/backend-heatmap.jpg?fit=1200%2C659&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/04\/backend-heatmap.jpg?fit=1200%2C659&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/04\/backend-heatmap.jpg?fit=1200%2C659&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/04\/backend-heatmap.jpg?fit=1200%2C659&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2019\/04\/backend-heatmap.jpg?fit=1200%2C659&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":13849,"url":"https:\/\/rud.is\/b\/2023\/03\/21\/youre-one-javascript-function-call-away-from-using-most-webr-r-functions-in-your-webr-powered-apps-sites\/","url_meta":{"origin":5123,"position":4},"title":"You&#8217;re One JavaScript Function Call Away From Using (Most) WebR R Functions In Your WebR-Powered Apps\/Sites","author":"hrbrmstr","date":"2023-03-21","format":false,"excerpt":"After writing the initial version of a tutorial on wrapping and binding R functions on the javascript side of WebR, I had a number of other WebR projects on the TODO list. But, I stuck around noodling on the whole \"wrapping & binding\" thing, and it dawned on me that\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":5097,"url":"https:\/\/rud.is\/b\/2017\/02\/23\/on-watering-holes-trust-defensible-systems-and-data-science-community-security\/","url_meta":{"origin":5123,"position":5},"title":"On Watering Holes, Trust, Defensible Systems and Data Science Community Security","author":"hrbrmstr","date":"2017-02-23","format":false,"excerpt":"I've been threatening to do a series on \"data science community security\" for a while and had cause to issue this inaugural post today. It all started with this: Hey #rstats folks: don't do this. Srsly. Don't do this. Pls. Will blog why. Just don't do this. https:\/\/t.co\/qkem5ruEBi\u2014 boB Rudis\u2026","rel":"","context":"In &quot;R&quot;","block_context":{"text":"R","link":"https:\/\/rud.is\/b\/category\/r\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/02\/hieRarchy.png?fit=1200%2C1035&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/02\/hieRarchy.png?fit=1200%2C1035&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/02\/hieRarchy.png?fit=1200%2C1035&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/02\/hieRarchy.png?fit=1200%2C1035&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2017\/02\/hieRarchy.png?fit=1200%2C1035&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/5123","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=5123"}],"version-history":[{"count":0,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/5123\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media\/5124"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=5123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=5123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=5123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}