{"id":101,"date":"2009-04-29T19:51:05","date_gmt":"2009-04-29T17:51:05","guid":{"rendered":"http:\/\/www.theusrus.de\/blog\/?p=101"},"modified":"2011-02-09T20:25:18","modified_gmt":"2011-02-09T18:25:18","slug":"babylonian-confusion-or-flexibility","status":"publish","type":"post","link":"https:\/\/www.theusrus.de\/blog\/babylonian-confusion-or-flexibility\/","title":{"rendered":"Babylonian confusion or flexibility?"},"content":{"rendered":"<p>As we are used from UNIX. there is not one single suitable solution to solve a problem, but usually a few different ways to do &#8220;the same&#8221;. Depending on what commands we know (best), we will chose the one or the other solution. Only the absolute expert will be able to choose the most efficient commands.<\/p>\n<p>There is a similar situation with R&#8217;s graphics (and probably for methods from other domains as well). Let&#8217;s look at a simple example like the histogram (I use the Old Faithful Geyser Data here as example).<\/p>\n<ul>\n<li> there is the good old <tt>hist<\/tt> which gives<br \/> <br \/>\n<img decoding=\"async\" src=\"http:\/\/www.theusRus.de\/Blog-files\/hist.png\"><\/p>\n<li> from the mass library we get the <tt>truehist<\/tt> which plots densities<br \/>\n<img decoding=\"async\" src=\"http:\/\/www.theusRus.de\/Blog-files\/truehist.png\"> <br \/>\nand apparently brings in some more truth, as the bars are different with the same underlying breaks.<\/p>\n<li> the library lattice provides <tt>histogram<\/tt> looking like this<br \/>\n<img decoding=\"async\" src=\"http:\/\/www.theusRus.de\/Blog-files\/histogram.png\"><\/p>\n<li> we skip <tt>gghistogram<\/tt> from the <a href=\"http:\/\/had.co.nz\/ggplot\/\">ggplot<\/a> library and immediately move to\n<li> <tt>qplot<\/tt> from ggplot2, which is actually a call to <br \/>\n<tt>qplot(eruptions, data = faithful, geom=\"histogram\")<\/tt><br \/>\n<img decoding=\"async\" src=\"http:\/\/www.theusRus.de\/Blog-files\/qplot.png\"><br \/>\n(compared to <tt>hist(faithful$eruptions)<\/tt>)<\/p>\n<li> Finally, for those who like things more interactive, there is <tt>ihist<\/tt> from the <a href=\"http:\/\/www.iplots.org\">iplots<\/a> library\n<p><img decoding=\"async\" src=\"http:\/\/www.theusRus.de\/Blog-files\/ihist.png\">\n<\/ul>\n<p>I don&#8217;t claim that this list is complete, but I think it nicely shows &#8220;the problem&#8221;. Of course, a &#8220;real R programmer&#8221; can make any of the plots look like one of the others &#8230; The question is more, which of the implementations beyond <tt>hist<\/tt> from the base library <tt>graphics<\/tt> really adds value to what we already had? The second question probably is, how R will ever resolve the backwards compatibility spiral that might make it look like a real legacy project some time &#8211; not to mention the package quality issue?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As we are used from UNIX. there is not one single suitable solution to solve a problem, but usually a few different ways to do &#8220;the same&#8221;. Depending on what commands we know (best), we will chose the one or the other solution. Only the absolute expert will be able to choose the most efficient [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,6],"tags":[],"class_list":["post-101","post","type-post","status-publish","format-standard","hentry","category-r","category-tools"],"_links":{"self":[{"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/posts\/101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/comments?post=101"}],"version-history":[{"count":24,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/posts\/101\/revisions"}],"predecessor-version":[{"id":1007,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/posts\/101\/revisions\/1007"}],"wp:attachment":[{"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/media?parent=101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/categories?post=101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.theusrus.de\/blog\/wp-json\/wp\/v2\/tags?post=101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}