

{"id":4242,"date":"2016-04-06T20:43:29","date_gmt":"2016-04-07T01:43:29","guid":{"rendered":"http:\/\/rud.is\/b\/?p=4242"},"modified":"2018-03-07T16:42:45","modified_gmt":"2018-03-07T21:42:45","slug":"52vis-week-2-2016-week-14-honing-in-on-the-homeless","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/","title":{"rendered":"52Vis Week 2 (2016 Week #14) &#8211; Honing in on the Homeless"},"content":{"rendered":"<p>>UPDATE: Since I put in a &#8220;pull request&#8221; requirement, I intended to put in a link to getting started with GitHub. Dr. Jenny Bryan&#8217;s @stat545 has a great [section on git](https:\/\/stat545-ubc.github.io\/git00_index.html) that should hopefully make it a bit less painful.<\/p>\n<p>### Why 52Vis?<\/p>\n<p>In case folks are wondering why I&#8217;m doing this, it&#8217;s pretty simple. We need a society that has high data literacy and we need folks who are capable of making awesome, truthful data visualizations. The only way to do that is by working with data over, and over, and over, and over again. <\/p>\n<p>Directed projects with some reward are one of the best Pavlovian ways to accomplish that :-)<\/p>\n<p>### This week&#8217;s challenge<\/p>\n<p>The Data is Plural folks have [done it again](http:\/\/tinyletter.com\/data-is-plural\/letters\/data-is-plural-2016-04-06-edition) and there&#8217;s a neat and important data set in this week&#8217;s vis challenge.<\/p>\n<p>From their newsletter:<\/p>\n<p>>_Every January, at the behest of the U.S. Department of Housing and Urban Development, volunteers across the country attempt to count the homeless in their communities. The result: HUD\u2019s \u201cpoint in time\u201d estimates, which are currently available for 2007\u20132015. The most recent estimates found 564,708 homeless people nationwide, with 75,323 of that count (more than 13%) living in New York City._<\/p>\n<p>I decided to take a look at this data by seeing which states had the worst homeless problem per-capita (i.e. per 100K population). I&#8217;ve included the population data along with some ready-made wrangling of the HUD data.<\/p>\n<p>But, before we do that&hellip;<\/p>\n<p>### RULES UPDATE + Last week&#8217;s winner<\/p>\n<p>I&#8217;ll be announcing the winner on Thursday since I:<\/p>\n<p>&#8211; am horribly sick after being exposed to who knows what after rOpenSci last week in SFO :-)<br \/>\n&#8211; have been traveling like mad this week<br \/>\n&#8211; need to wrangle all the answers into the github repo and get @laneharrison (and his students) to validate my choice for winner (I have picked a winner)<\/p>\n<p>Given how hard the wrangling has been, I&#8217;m going to need to request that folks both leave a blog comment and file a PR to [the github repo](https:\/\/github.com\/52vis\/2016-14) for this week. Please include the code you used as well as the vis (or a link to a working interactive vis)<\/p>\n<p>### PRIZES UPDATE<\/p>\n<p>Not only can I offer [Data-Driven Security](http:\/\/dds.ec\/amzn), but Hadley Wickham has offered signed copies of his books as well, and I&#8217;ll keep in the Amazon gift card as a catch-all if you have more (NOTE: if any other authors want to offer up their tomes shoot me a note!).<\/p>\n<p>### No place to roam<\/p>\n<p>Be warned: this was a pretty depressing data set. I went in with the question of wanting to know which &#8220;states&#8221; had the worst problem and I assumed it&#8217;d be California or New York. I had no idea it would be what it was and the exercise shattered some assumptions.<\/p>\n<p>NOTE: I&#8217;ve included U.S. population data for the necessary time period.<\/p>\n<pre lang=\"rsplus\">library(readxl)\r\nlibrary(purrr)\r\nlibrary(dplyr)\r\nlibrary(tidyr)\r\nlibrary(stringr)\r\nlibrary(ggplot2)\r\nlibrary(scales)\r\nlibrary(grid)\r\nlibrary(hrbrmisc)\r\n\r\n# grab the HUD homeless data\r\n\r\nURL <- \"https:\/\/www.hudexchange.info\/resources\/documents\/2007-2015-PIT-Counts-by-CoC.xlsx\"\r\nfil <- basename(URL)\r\nif (!file.exists(fil)) download.file(URL, fil, mode=\"wb\")\r\n\r\n# turn the excel tabs into a long data.frame\r\nyrs <- 2015:2007\r\nnames(yrs) <- 1:9\r\nhomeless <- map_df(names(yrs), function(i) {\r\n  df <- suppressWarnings(read_excel(fil, as.numeric(i)))\r\n  df[,3:ncol(df)] <- suppressWarnings(lapply(df[,3:ncol(df)], as.numeric))\r\n  new_names <- tolower(make.names(colnames(df)))\r\n  new_names <- str_replace_all(new_names, \"\\\\.+\", \"_\")\r\n  df <- setNames(df, str_replace_all(new_names, \"_[[:digit:]]+$\", \"\"))\r\n  bind_cols(df, data_frame(year=rep(yrs[i], nrow(df))))\r\n})\r\n\r\n# clean it up a bit\r\nhomeless <- mutate(homeless,\r\n                   state=str_match(coc_number, \"^([[:alpha:]]{2})\")[,2],\r\n                   coc_name=str_replace(coc_name, \" CoC$\", \"\"))\r\nhomeless <- select(homeless, year, state, everything())\r\nhomeless <- filter(homeless, !is.na(state))\r\n\r\n# read in the us population data\r\nuspop <- read.csv(\"uspop.csv\", stringsAsFactors=FALSE)\r\nuspop_long <- gather(uspop, year, population, -name, -iso_3166_2)\r\nuspop_long$year <- sub(\"X\", \"\", uspop_long$year)\r\n\r\n# normalize the values\r\nstates <- count(homeless, year, state, wt=total_homeless)\r\nstates <- left_join(states, albersusa::usa_composite()@data[,3:4], by=c(\"state\"=\"iso_3166_2\"))\r\nstates <- ungroup(filter(states, !is.na(name)))\r\nstates$year <- as.character(states$year)\r\nstates <- mutate(left_join(states, uspop_long), homeless_per_100k=(n\/population)*100000)\r\n\r\n# we want to order from worst to best\r\ngroup_by(states, name) %>%\r\n  summarise(mean=mean(homeless_per_100k, na.rm=TRUE)) %>%\r\n  arrange(desc(mean)) -> ordr\r\n\r\nstates$year <- factor(states$year, levels=as.character(2006:2016))\r\nstates$name <- factor(states$name, levels=ordr$name)\r\n\r\n# plot\r\n#+ fig.retina=2, fig.width=10, fig.height=15\r\ngg <- ggplot(states, aes(x=year, y=homeless_per_100k))\r\ngg <- gg + geom_segment(aes(xend=year, yend=0), size=0.33)\r\ngg <- gg + geom_point(size=0.5)\r\ngg <- gg + scale_x_discrete(expand=c(0,0),\r\n                            breaks=seq(2007, 2015, length.out=5),\r\n                            labels=c(\"2007\", \"\", \"2011\", \"\", \"2015\"),\r\n                            drop=FALSE)\r\ngg <- gg + scale_y_continuous(expand=c(0,0), labels=comma, limits=c(0,1400))\r\ngg <- gg + labs(x=NULL, y=NULL,\r\n                title=\"US Department of Housing &#038; Urban Development (HUD) Total (Estimated) Homeless Population\",\r\n                subtitle=\"Counts aggregated from HUD Communities of Care Regional Surveys (normalized per 100K population)\",\r\n                caption=\"Data from: https:\/\/www.hudexchange.info\/resource\/4832\/2015-ahar-part-1-pit-estimates-of-homelessness\/\")\r\ngg <- gg + facet_wrap(~name, scales=\"free\", ncol=6)\r\ngg <- gg + theme_hrbrmstr_an(grid=\"Y\", axis=\"\", strip_text_size=9)\r\ngg <- gg + theme(axis.text.x=element_text(size=8))\r\ngg <- gg + theme(axis.text.y=element_text(size=7))\r\ngg <- gg + theme(panel.margin=unit(c(10, 10), \"pt\"))\r\ngg <- gg + theme(panel.background=element_rect(color=\"#97cbdc44\", fill=\"#97cbdc44\"))\r\ngg <- gg + theme(plot.margin=margin(10, 20, 10, 15))\r\ngg<\/pre>\n<p><a href=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/percapita.png?ssl=1\" rel=\"attachment wp-att-4243\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"4243\" data-permalink=\"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/percapita\/\" data-orig-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/percapita.png?fit=1920%2C2880&amp;ssl=1\" data-orig-size=\"1920,2880\" 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=\"percapita\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/percapita.png?fit=510%2C765&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/percapita.png?w=510&#038;ssl=1\" alt=\"percapita\"  class=\"aligncenter size-full wp-image-4243\" \/><\/a><\/p>\n<p>I used one of HUD's alternate, official color palette colors for the panel backgrounds.<\/p>\n<p>Remember, this is language\/tool-agnostic & go in with a good question or two, augment as you feel you need to and show us your vis! <\/p>\n<p>Week 2's content closes 2016-04-12 23:59 EDT<\/p>\n<p>Contest GitHub Repo: <https:\/\/github.com\/52vis\/2016-14><\/p>\n","protected":false},"excerpt":{"rendered":"<p>>UPDATE: Since I put in a &#8220;pull request&#8221; requirement, I intended to put in a link to getting started with GitHub. Dr. Jenny Bryan&#8217;s @stat545 has a great [section on git](https:\/\/stat545-ubc.github.io\/git00_index.html) that should hopefully make it a bit less painful. ### Why 52Vis? In case folks are wondering why I&#8217;m doing this, it&#8217;s pretty simple. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4243,"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":false,"_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":[24,677,678,673,674,91],"tags":[772,810],"class_list":["post-4242","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-charts-graphs","category-data-analysis-2","category-data-visualization","category-datavis-2","category-dataviz","category-r","tag-52vis","tag-post"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>52Vis Week 2 (2016 Week #14) - Honing in on the Homeless - 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\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"52Vis Week 2 (2016 Week #14) - Honing in on the Homeless - rud.is\" \/>\n<meta property=\"og:description\" content=\"&gt;UPDATE: Since I put in a &#8220;pull request&#8221; requirement, I intended to put in a link to getting started with GitHub. Dr. Jenny Bryan&#8217;s @stat545 has a great [section on git](https:\/\/stat545-ubc.github.io\/git00_index.html) that should hopefully make it a bit less painful. ### Why 52Vis? In case folks are wondering why I&#8217;m doing this, it&#8217;s pretty simple. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2016-04-07T01:43:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-07T21:42:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/percapita.png?fit=1920%2C2880&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"2880\" \/>\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\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"52Vis Week 2 (2016 Week #14) &#8211; Honing in on the Homeless\",\"datePublished\":\"2016-04-07T01:43:29+00:00\",\"dateModified\":\"2018-03-07T21:42:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/\"},\"wordCount\":575,\"commentCount\":15,\"publisher\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#\\\/schema\\\/person\\\/d7cb7487ab0527447f7fda5c423ff886\"},\"image\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2016\\\/04\\\/percapita.png?fit=1920%2C2880&ssl=1\",\"keywords\":[\"52vis\",\"post\"],\"articleSection\":[\"Charts &amp; Graphs\",\"Data Analysis\",\"Data Visualization\",\"DataVis\",\"DataViz\",\"R\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/\",\"url\":\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/\",\"name\":\"52Vis Week 2 (2016 Week #14) - Honing in on the Homeless - rud.is\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2016\\\/04\\\/percapita.png?fit=1920%2C2880&ssl=1\",\"datePublished\":\"2016-04-07T01:43:29+00:00\",\"dateModified\":\"2018-03-07T21:42:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2016\\\/04\\\/percapita.png?fit=1920%2C2880&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/rud.is\\\/b\\\/wp-content\\\/uploads\\\/2016\\\/04\\\/percapita.png?fit=1920%2C2880&ssl=1\",\"width\":1920,\"height\":2880},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/rud.is\\\/b\\\/2016\\\/04\\\/06\\\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/rud.is\\\/b\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"52Vis Week 2 (2016 Week #14) &#8211; Honing in on the Homeless\"}]},{\"@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":"52Vis Week 2 (2016 Week #14) - Honing in on the Homeless - 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\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/","og_locale":"en_US","og_type":"article","og_title":"52Vis Week 2 (2016 Week #14) - Honing in on the Homeless - rud.is","og_description":">UPDATE: Since I put in a &#8220;pull request&#8221; requirement, I intended to put in a link to getting started with GitHub. Dr. Jenny Bryan&#8217;s @stat545 has a great [section on git](https:\/\/stat545-ubc.github.io\/git00_index.html) that should hopefully make it a bit less painful. ### Why 52Vis? In case folks are wondering why I&#8217;m doing this, it&#8217;s pretty simple. [&hellip;]","og_url":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/","og_site_name":"rud.is","article_published_time":"2016-04-07T01:43:29+00:00","article_modified_time":"2018-03-07T21:42:45+00:00","og_image":[{"width":1920,"height":2880,"url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/percapita.png?fit=1920%2C2880&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\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"52Vis Week 2 (2016 Week #14) &#8211; Honing in on the Homeless","datePublished":"2016-04-07T01:43:29+00:00","dateModified":"2018-03-07T21:42:45+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/"},"wordCount":575,"commentCount":15,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"image":{"@id":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/percapita.png?fit=1920%2C2880&ssl=1","keywords":["52vis","post"],"articleSection":["Charts &amp; Graphs","Data Analysis","Data Visualization","DataVis","DataViz","R"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/","url":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/","name":"52Vis Week 2 (2016 Week #14) - Honing in on the Homeless - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/#primaryimage"},"image":{"@id":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/percapita.png?fit=1920%2C2880&ssl=1","datePublished":"2016-04-07T01:43:29+00:00","dateModified":"2018-03-07T21:42:45+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/#primaryimage","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/percapita.png?fit=1920%2C2880&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/percapita.png?fit=1920%2C2880&ssl=1","width":1920,"height":2880},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2016\/04\/06\/52vis-week-2-2016-week-14-honing-in-on-the-homeless\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"52Vis Week 2 (2016 Week #14) &#8211; Honing in on the Homeless"}]},{"@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\/2016\/04\/percapita.png?fit=1920%2C2880&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p23idr-16q","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":4335,"url":"https:\/\/rud.is\/b\/2016\/04\/13\/52vis-week-3-waste-not-want-not\/","url_meta":{"origin":4242,"position":0},"title":"52Vis Week #3 &#8211; Waste Not, Want Not","author":"hrbrmstr","date":"2016-04-13","format":false,"excerpt":"The Wall Street Journal did a project piece [a while back](http:\/\/projects.wsj.com\/waste-lands\/) in the _\"Waste Lands: America's Forgotten Nuclear Legacy\"_. They dug through [Department of Energy](http:\/\/www.lm.doe.gov\/default.aspx?id=2602) and [CDC](http:\/\/www.cdc.gov\/niosh\/ocas\/ocasawe.html) data to provide an overview of the lingering residue of this toxic time in America's past (somehow, I have to believe the fracking\u2026","rel":"","context":"In &quot;52vis&quot;","block_context":{"text":"52vis","link":"https:\/\/rud.is\/b\/category\/52vis\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/waste.png?fit=1200%2C983&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/waste.png?fit=1200%2C983&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/waste.png?fit=1200%2C983&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/waste.png?fit=1200%2C983&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/04\/waste.png?fit=1200%2C983&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4308,"url":"https:\/\/rud.is\/b\/2016\/04\/13\/52-vis-week-2-wrap-up\/","url_meta":{"origin":4242,"position":1},"title":"52 Vis Week #2 Wrap Up","author":"hrbrmstr","date":"2016-04-13","format":false,"excerpt":"I've been staring at this homeless data set for a few weeks now since I'm using it both here and in the data science class I'm teaching. It's been one of the most mindful data sets I've worked with in a while. Even when reduced to pure numbers in named\u2026","rel":"","context":"In &quot;52vis&quot;","block_context":{"text":"52vis","link":"https:\/\/rud.is\/b\/category\/52vis\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4292,"url":"https:\/\/rud.is\/b\/2016\/04\/13\/52-vis-week-1-winners\/","url_meta":{"origin":4242,"position":2},"title":"52 Vis Week 1 Winners!","author":"hrbrmstr","date":"2016-04-13","format":false,"excerpt":"The response to 52Vis has exceeded expectations and there have been great entries for both weeks. It's time to award some prizes! ### Week 1 - Send in the Drones I'll take [this week](https:\/\/github.com\/52vis\/2016-13) in comment submission order (remember, the rules changed to submission via PR in Week 2). NOTE:\u2026","rel":"","context":"In &quot;52vis&quot;","block_context":{"text":"52vis","link":"https:\/\/rud.is\/b\/category\/52vis\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4225,"url":"https:\/\/rud.is\/b\/2016\/03\/30\/introducing-a-weekly-r-python-js-etc-vis-challenge\/","url_meta":{"origin":4242,"position":3},"title":"Introducing a Weekly R \/ Python \/ JS \/ etc Vis Challenge!","author":"hrbrmstr","date":"2016-03-30","format":false,"excerpt":">UPDATE: Deadline is now 2016-04-05 23:59 EDT; next vis challenge is 2016-04-06! Per a suggestion, I'm going to try to find a neat data set (prbly one from @jsvine) to feature each week and toss up some sample code (99% of the time prbly in R) and offer up a\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":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/RStudioScreenSnapz024.png?fit=1200%2C605&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/RStudioScreenSnapz024.png?fit=1200%2C605&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/RStudioScreenSnapz024.png?fit=1200%2C605&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/RStudioScreenSnapz024.png?fit=1200%2C605&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/03\/RStudioScreenSnapz024.png?fit=1200%2C605&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":4357,"url":"https:\/\/rud.is\/b\/2016\/05\/01\/pining-for-the-fjords-monitoring-ssltls-certificate-expiration-in-r-with-flexdashboard\/","url_meta":{"origin":4242,"position":4},"title":"Pining for the fjoRds &#038; monitoring SSL\/TLS certificate expiration in R with flexdashboard","author":"hrbrmstr","date":"2016-05-01","format":false,"excerpt":"Rumors of my demise have been (almost) greatly exaggerated. Folks have probably noticed that #52Vis has stalled, as has most blogging, package & Twitter activity. I came down with a nasty bout of bronchitis after attending rOpenSci Unconf 16 (there were _so_ many people hacking [the sick kind] up a\u2026","rel":"","context":"In &quot;dashboard&quot;","block_context":{"text":"dashboard","link":"https:\/\/rud.is\/b\/category\/dashboard\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/Fullscreen_5_1_16__9_28_PM.png?fit=1200%2C609&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/Fullscreen_5_1_16__9_28_PM.png?fit=1200%2C609&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/Fullscreen_5_1_16__9_28_PM.png?fit=1200%2C609&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/Fullscreen_5_1_16__9_28_PM.png?fit=1200%2C609&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/05\/Fullscreen_5_1_16__9_28_PM.png?fit=1200%2C609&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3841,"url":"https:\/\/rud.is\/b\/2016\/01\/03\/zellingenach-a-visual-exploration-of-the-spatial-patterns-in-the-endings-of-german-town-and-village-names-in-r\/","url_meta":{"origin":4242,"position":5},"title":"Zellingenach: A visual exploration of the spatial patterns in the endings of German town and village names in R","author":"hrbrmstr","date":"2016-01-03","format":false,"excerpt":"Moritz Stefaner started off 2016 with a [very spiffy post](http:\/\/truth-and-beauty.net\/experiments\/ach-ingen-zell\/) on _\"a visual exploration of the spatial patterns in the endings of German town and village names\"_. Moritz was [exploring some new data processing & visualization tools](https:\/\/github.com\/moritzstefaner\/ach-ingen-zell) for the post, but when I saw what he was doing I wondered\u2026","rel":"","context":"In &quot;cartography&quot;","block_context":{"text":"cartography","link":"https:\/\/rud.is\/b\/category\/cartography\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/01\/rud_is_zellingenach_html.png?fit=597%2C798&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/01\/rud_is_zellingenach_html.png?fit=597%2C798&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2016\/01\/rud_is_zellingenach_html.png?fit=597%2C798&ssl=1&resize=525%2C300 1.5x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/4242","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=4242"}],"version-history":[{"count":0,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/4242\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media\/4243"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=4242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=4242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=4242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}