<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A04GRH88fip7ImA9WhBVF0w.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579</id><updated>2013-04-23T13:25:25.176+01:00</updated><category term="install" /><category term="clustering" /><category term="clear" /><category term="FAQ" /><category term="package" /><category term="news" /><category term="knitr" /><category term="reproducible research" /><category term="latex" /><category term="R-help" /><category term="ggplot2" /><category term="regexp" /><category term="parsing" /><category term="converting" /><category term="upgrade" /><category term="sed" /><category term="array" /><category term="density" /><category term="grep" /><category term="distance" /><category term="function" /><category term="resource" /><category term="realtime" /><category term="Triangular Matrix" /><category term="performance" /><category term="review" /><category term="recipes" /><category term="italiano" /><category term="Classification" /><category term="sweave" /><category term="table" /><category term="visualization" /><category term="plot" /><category term="wrapper" /><category term="text filtering" /><category term="substitute" /><category term="histograms" /><category term="workshop" /><category term="knn" /><category term="barplot" /><category term="outliers" /><category term="intersection" /><category term="similarity" /><category term="format" /><category term="advanced" /><category term="batch" /><category term="output" /><category term="balloonplot" /><category term="reference" /><category term="R_News" /><category term="file management" /><category term="replacing" /><category term="microarray" /><category term="comparing" /><category term="overlapping" /><category term="coordinates" /><category term="podcast" /><category term="list" /><category term="comics" /><category term="text mining" /><category term="environment" /><category term="Bioconductor" /><category term="curl" /><category term="string" /><category term="smooth" /><category term="survey" /><category term="tag cloud" /><category term="range" /><category term="windows" /><category term="contributed" /><category term="vector" /><category term="boxplot" /><category term="screen" /><category term="descriptive statistics" /><category term="math" /><category term="basic" /><category term="tool" /><category term="sorting" /><category term="mac os x" /><category term="NA" /><category term="chart" /><category term="book" /><category term="API" /><category term="Google" /><category term="superimpose" /><category term="hello world" /><category term="ordering" /><category term="matrix" /><category term="filling" /><category term="unix" /><category term="administration" /><category term="search" /><category term="colors" /><category term="ROC" /><category term="maps" /><category term="axis" /><category term="distribution" /><title>One R Tip A Day</title><subtitle type="html">"A big computer, a complex algorithm and a long time does not equal science." -- Robert Gentleman</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://onertipaday.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Paolo Sonego</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>103</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/OneRTipADay" /><feedburner:info uri="onertipaday" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><logo>http://creativecommons.org/images/public/somerights20.gif</logo><entry gd:etag="W/&quot;CkMCQXo_cCp7ImA9WhBXGUQ.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-7315557214924572236</id><published>2013-04-03T13:01:00.000+01:00</published><updated>2013-04-03T13:01:00.448+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-03T13:01:00.448+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="upgrade" /><category scheme="http://www.blogger.com/atom/ns#" term="resource" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>R 3.0.0 is released!</title><content type="html">The new R 3.0.0 is out! You know the &lt;a href="http://onertipaday.blogspot.it/search/label/upgrade"&gt;drill&lt;/a&gt;! Get the source code from &lt;a href="http://cran.r-project.org/src/base/R-3/" target="_blank"&gt;here&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/03j5SY-DnpA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/7315557214924572236/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2013/04/r-300-is-released.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/7315557214924572236?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/7315557214924572236?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/03j5SY-DnpA/r-300-is-released.html" title="R 3.0.0 is released!" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2013/04/r-300-is-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQNRXw_eyp7ImA9WhNWFU0.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-7771475909394612731</id><published>2012-12-14T16:26:00.000Z</published><updated>2012-12-14T16:26:34.243Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-14T16:26:34.243Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reference" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>R Journal Volume 4/2, December 2012</title><content type="html">The 'Winter edition' of the R Journal is out! Get it from &lt;a href="http://journal.r-project.org/archive/2012-2/RJournal_2012-2.pdf" target="_blank"&gt;here&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/iltA2w9dEP4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/7771475909394612731/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2012/12/r-journal-volume-42-december-2012.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/7771475909394612731?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/7771475909394612731?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/iltA2w9dEP4/r-journal-volume-42-december-2012.html" title="R Journal Volume 4/2, December 2012" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2012/12/r-journal-volume-42-december-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQCRXc-eSp7ImA9WhNXFk4.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-2010597765058188783</id><published>2012-12-03T14:41:00.000Z</published><updated>2012-12-04T16:09:24.951Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-12-04T16:09:24.951Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reproducible research" /><category scheme="http://www.blogger.com/atom/ns#" term="Bioconductor" /><category scheme="http://www.blogger.com/atom/ns#" term="latex" /><category scheme="http://www.blogger.com/atom/ns#" term="reference" /><category scheme="http://www.blogger.com/atom/ns#" term="knitr" /><category scheme="http://www.blogger.com/atom/ns#" term="resource" /><category scheme="http://www.blogger.com/atom/ns#" term="sweave" /><title>Italian Bio R Day 2012 - Slides on Reproducible Research using R and Bioconductor</title><content type="html">Thanks to &lt;a href="http://www.tecnoparco.org/" target="_blank"&gt;Parco Tecnologico Padano (PTP)&lt;/a&gt;, I was invited to speak at the first &lt;a href="http://www.tecnoparco.org/index.php?option=com_content&amp;amp;view=article&amp;amp;id=649:italian-bior-day-at-ptp&amp;amp;catid=94:news-bioinformatica&amp;amp;Itemid=166&amp;amp;lang=en" target="_blank"&gt;Italian Bio R Day&lt;/a&gt; that was held in &lt;a href="http://goo.gl/bqOA1" target="_blank"&gt;Lodi&lt;/a&gt; on 30 November 2012. It was a nice opportunity to talk and listen about different aspects of R from practitioners with different backgrounds (epidemiology, chemometrics and bioinformatics).&lt;br /&gt;
My &lt;a href="https://github.com/onertipaday/ItalianBioRDay2012/tree/master/Slides" target="_blank"&gt;presentation&lt;/a&gt; was about Reproducible Research in High-Throughput Biology using R and Bioconductor. The presentation was held in Italian but the slides and the case study are in English. All the material was created using &lt;a href="http://www.rstudio.org/" target="_blank"&gt;Rstudio&lt;/a&gt;, taking advantage of its amazing integration with both&amp;nbsp; &lt;a href="http://yihui.name/knitr/" target="_blank"&gt;knitr&lt;/a&gt; and github,&amp;nbsp; knitr to convert R Markdown to Markdown and Sweave/knitr to LaTeX, and &lt;a href="http://johnmacfarlane.net/pandoc/" target="_blank"&gt;pandoc&lt;/a&gt; for converting markdown to html5. The material is quite basic, nevertheless I'd like to share it under the &lt;a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank"&gt;Creative Commons Attribution-NonCommercial-Share Alike 3.0 License&lt;/a&gt;. You can access everything from &lt;a href="http://onertipaday.github.com/ItalianBioRDay2012/" target="_blank"&gt;here&lt;/a&gt;. Fell free to fork it, highlight errors or plagiarism, suggest modifications, etc.:&amp;nbsp; I'll be more than happy to fix bugs and give credits to where is due.&lt;br /&gt;
&amp;nbsp;Finally, I'd like to thank Andrea Pedretti for inviting me at this nice meeting , &lt;a href="http://yihui.name/" target="_blank"&gt;Yihui Xie&lt;/a&gt; for his awesome knitr package and Vince Buffalo for his inspiring &lt;a href="http://vincebuffalo.org/2012/03/08/the-beauty-of-bioconductor.html" target="_blank"&gt;The Beauty of Bioconductor&lt;/a&gt; blog post.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/Yw4RQkfGB9M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/2010597765058188783/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2012/12/italian-bio-r-day-2012-slides-on.html#comment-form" title="3 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/2010597765058188783?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/2010597765058188783?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/Yw4RQkfGB9M/italian-bio-r-day-2012-slides-on.html" title="Italian Bio R Day 2012 - Slides on Reproducible Research using R and Bioconductor" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2012/12/italian-bio-r-day-2012-slides-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcNSHwzeip7ImA9WhJSFUs.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-6434014496038289409</id><published>2012-07-06T08:34:00.002+01:00</published><updated>2012-07-06T08:34:59.282+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-07-06T08:34:59.282+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reference" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>The R Journal Volume 4/1</title><content type="html">The 'Summer edition' of the R Journal is out! Get it from &lt;a href="http://journal.r-project.org/archive/2012-1/RJournal_2012-1.pdf" target="_blank"&gt;here&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/fMVFHPRBSaQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/6434014496038289409/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2012/07/the-r-journal-volume-41.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/6434014496038289409?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/6434014496038289409?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/fMVFHPRBSaQ/the-r-journal-volume-41.html" title="The R Journal Volume 4/1" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2012/07/the-r-journal-volume-41.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQBQn88fip7ImA9WhRXEkU.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-3386746736540592565</id><published>2011-12-19T09:35:00.002Z</published><updated>2011-12-19T09:35:53.176Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-19T09:35:53.176Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reference" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>Christmas Gift to the R Community: The R Journal!</title><content type="html">The R Journal Volume 3/2 is available!&lt;br /&gt;
Get it from &lt;a href="http://journal.r-project.org/current.html" target="_blank"&gt;here&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/-td4ZL54R8Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/3386746736540592565/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2011/12/christmas-gift-to-r-community-r-journal.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/3386746736540592565?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/3386746736540592565?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/-td4ZL54R8Y/christmas-gift-to-r-community-r-journal.html" title="Christmas Gift to the R Community: The R Journal!" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2011/12/christmas-gift-to-r-community-r-journal.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYHRn89eCp7ImA9WhRQEks.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-4747761213591587449</id><published>2011-12-05T13:12:00.000Z</published><updated>2011-12-07T14:12:17.160Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-07T14:12:17.160Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reference" /><category scheme="http://www.blogger.com/atom/ns#" term="resource" /><category scheme="http://www.blogger.com/atom/ns#" term="review" /><title>The Art of R Programming - my two cents</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://nostarch.com/artofr.htm" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-VG0otLG8VXQ/Ttpfcad5VBI/AAAAAAAABAk/jkHbwXoeeUg/s320/R_cvr_front_small.png" width="241" /&gt;&lt;/a&gt;&lt;/div&gt;
What makes this book different from other books about R is stated clearly by the author Norman Matloff in the introduction:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;i&gt;"This book is not a compendium of the myriad types of statistical methods that are available in the wonderful R package. It really is about programming and cover programming-related topics missing from most other books on R".&lt;/i&gt;&lt;/blockquote&gt;
Most books about R present a gentle introduction to the language and then jump to practical applications. Norman Matloff, across the 350 pages of this book, accompanies the reader in developing the necessary skills useful to write software in a proper way focusing on the characteristics and idiosyncrasies of the R language.&lt;br /&gt;
&lt;br /&gt;
In each of the first six chapters of the book the author covers a different R data type: vector, matrix, list, data.frame and factor.&amp;nbsp;&amp;nbsp; Starting from basic examples and progressing to more complex ones each data type is properly introduced and used in the proper context. Furthermore,&amp;nbsp; some extended examples are ameliorated or re-implemented along new type are introduced in order to show the expressivity of the language. The explanation of small details such as the use of the &lt;i&gt;drop=FALSE&lt;/i&gt; argument in matrix/data.frame subsetting or the &lt;i&gt;stringsAsFactor=FALSE&lt;/i&gt; argument when building up a data.frame are the proverbial icing on the cake which can make your day-by-day workflow more productive.&lt;br /&gt;
Chapter 7, 8 and 9 are the heart of the Art of R Programming introducing the structures, idioms, peculiarities and idiosyncrasies of R as programming language.&lt;br /&gt;
Chapter 7 presents how the typical programming structures are implemented in R and how to use them correctly: control statements, functions, recursion etc. are explained by clear and appropriate examples of increased complexity and usefulness.&lt;br /&gt;
Chapter 8 about doing math and simulation in R is a more 'traditional' chapter depicting the mathematical/statistical facilities embedded in R. Since the main selling-point of R is its statistical capabilities an introduction to their characteristics and use makes perfectly sense.&lt;br /&gt;
Chapter 9 covers S3 and S4 the two most commonly used paradigms of object-oriented programming (OOR) implemented in R. If you are going to start designing and developing R software in a proper and reusable form this chapter will provide all the necessary information and a good collection of examples tailored to R mathematical/statistical peculiarities.&lt;br /&gt;
Chapter 10 is about I/O and provides all the necessary directions needed to parse data in R locally and from the internet.&lt;br /&gt;
Chapter 11 is about string manipulation and it is less technical than former chapters, presenting a sort of cheat-sheet collection of the most common functions to handle string in R. The author covers the&amp;nbsp; string capabilities embedded in base R but advices to take a look at Hadley Wickham's &lt;a href="http://cran.r-project.org/web/packages/stringr/index.html" target="_blank"&gt;stringr package&lt;/a&gt; for a more consistent handling of strings in R.&lt;br /&gt;
Chapter 12 introduces graphics in R providing a gentle overview of the huge R graphics capabilities but it doesn't present an in-depth discussion. Fortunately there are a lot of other books (for example &lt;a href="http://www.amazon.com/Graphics-Chapman-Hall-CRC/dp/158488486X" target="_blank"&gt;Paul Murrel's R Graphics&lt;/a&gt;) dedicated to this subject which is indeed one of the R's strong points.&lt;br /&gt;
Chapter 13 about debugging is short but points out almost everything is important to know about debugging R code; furthermore it provides a wide vision about debugging in general: the author Norman Matloff is also the co-author of &lt;a href="http://shop.oreilly.com/product/9781593271749.do" target="_blank"&gt;The Art of Debugging with GDB and DDD&lt;/a&gt; and clearly he knows the matter of which he speaks.&lt;br /&gt;
Chapter 14 covers strategies to handle the time/space trade-off in order to enhance the performance of R programs. In particular it explains the proper use of vectorization in order to speed up your code.&lt;br /&gt;
Chapter 15 and 16 are a sort of follow-up to chapter 14, meaning that they explain how to enhance the performance of your code by integrating R with other language, such as Python and C/C++ (Chapter 15) and by parallelizing your code. Both chapters provide an introductory glance on these topics but present sufficient coverage in order to be useful. &lt;br /&gt;
Conclusions:&lt;br /&gt;
Is it worth to buy this book? The short answer is YES. If you are serious in learning R in order to both analyze in the most appropriate and effective way your data (e.g. using the appropriate data type according your specific task) and to develop software, The Art of R programming will be beneficial to you.&lt;br /&gt;
Caveats: since the peculiar approach and aim of this book my advice is to buy this book together with a more statistical oriented, for example &lt;a href="http://www.manning.com/kabacoff/" target="_blank"&gt;Rob Kabacoff's R in Action&lt;/a&gt; and one or two about graphics in R (e.g. &lt;a href="http://www.amazon.com/R-Graph-Cookbook-Hrishi-Mittal/dp/1849513066/" target="_blank"&gt;Hrishi Mittal's R Graph Cookbook&lt;/a&gt; or &lt;a href="http://www.amazon.com/ggplot2-Elegant-Graphics-Data-Analysis/dp/0387981403" target="_blank"&gt;Hadley Wickham's ggplot2 book&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Disclaimer: &lt;a href="http://nostarch.com/catalog.htm" target="_blank"&gt;No Starch Press&lt;/a&gt; provided me a free copy for review.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/7v5JE8d8QBw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/4747761213591587449/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2011/12/art-of-r-programming-my-two-cents.html#comment-form" title="4 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/4747761213591587449?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/4747761213591587449?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/7v5JE8d8QBw/art-of-r-programming-my-two-cents.html" title="The Art of R Programming - my two cents" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-VG0otLG8VXQ/Ttpfcad5VBI/AAAAAAAABAk/jkHbwXoeeUg/s72-c/R_cvr_front_small.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2011/12/art-of-r-programming-my-two-cents.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEFR34zcSp7ImA9WhRREk4.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-4679767631864297104</id><published>2011-11-16T08:31:00.001Z</published><updated>2011-11-25T16:13:36.089Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-25T16:13:36.089Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wrapper" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="parsing" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Weather forecast and good development practices</title><content type="html">Inspired by &lt;a href="http://papermashup.com/using-googles-weather-api/" target="_blank"&gt;this&lt;/a&gt; tutorial, I thought that it would be nice to have the possibility to have access to weather forecast directly from the R command line, for example for a personalized start-up message such as the one below:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Weather summary for Trieste, Friuli-Venezia Giulia:&lt;br /&gt;
The weather in Trieste is clear. The temperature is currently 14°C (57°F). Humidity: 63%.&lt;/blockquote&gt;
Fortunately, thanks to the always useful Duncan Temple Lang's &lt;a href="http://cran.r-project.org/web/packages/XML/index.html" target="_blank"&gt;XML&lt;/a&gt; package (see &lt;a href="http://www.omegahat.org/RSXML/" target="_blank"&gt;here&lt;/a&gt; for a tutorial about XML programming under R), it is straightforward to write few lines of R code to invoke the google weather api for the location of interest, retrieve the XML file, parse it using the &lt;a href="http://www.w3schools.com/xpath/default.asp" target="_blank"&gt;XPath&lt;/a&gt; paradigm and get the required informations:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: r"&gt;address="Trieste"
url = paste( "http://www.google.com/ig/api?weather=", URLencode(address), sep="" )
xml = xmlTreeParse(url, useInternalNodes=TRUE) # take a look at the xml output:
# Get the required informations:
condition=xpathSApply(xml,"//xml_api_reply/weather/current_conditions/condition",xmlGetAttr,"data")
temp_c=xpathSApply(xml,"//xml_api_reply/weather/current_conditions/temp_c",xmlGetAttr,"data")
humidity=xpathSApply(xml,"//xml_api_reply/weather/current_conditions/humidity",xmlGetAttr,"data")
cat( paste("The Weather in ", address, " is ", condition, ". The temperature is ", temp_c, "°C. Humidity is ", humidity, "%.") )
&lt;/pre&gt;
&lt;br /&gt;
Times ago I came to the conclusion that the best way to organize my R code is to create packages even for basic tasks. I know that It seems too much effort for this trivial task (and it was in the past) but fortunately, thanks to the Hadley Wickham's &lt;a href="http://cran.r-project.org/web/packages/devtools/index.html" target="_blank"&gt;devtools&lt;/a&gt; package development It has become a piece of cake process (sort of)!&lt;br /&gt;
&lt;br /&gt;
Below I present the minimal workflow I used to create this simple package. For a proper introduction to package development using devtools take a look at this &lt;a href="https://github.com/hadley/devtools/wiki" target="_blank"&gt;link&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
First create the skeleton for the project using the package.skeleton() function:&lt;br /&gt;
&lt;pre class="brush: r"&gt;package.skeleton("pkg")&lt;/pre&gt;
Read './pkg/Read-and-delete-me' file, compile the DESCRIPTION fiels according to your needs and delete './pkg/Read-and-delete-me'.&lt;br /&gt;
Now the devtools magic:  &lt;br /&gt;
&lt;pre class="brush: r"&gt;library("devtools")
pkg &amp;lt;- as.package("pkg") # pkg is the directory containing the structure created using package.skeleton()&lt;/pre&gt;
Create your functions and documentation following the &lt;a href="http://roxygen.org/" target="_blank"&gt;roxygen&lt;/a&gt; literate programming paradigm: basically you write your functions together with its documentation using in the preamble tags such as &lt;i&gt;@param, @example&lt;/i&gt;, etc. to indicate the different constituents of the functions and devtools automagically will create the functions' documentation (.Rd files).&lt;br /&gt;
Then you test your code, try your examples, verify that your package passes the check without errors and warnings, build it and, if you like, you can ftp it directly to CRAN (disclaimer: I didn't check this feature)!&lt;br /&gt;
&lt;pre class="brush: r"&gt;load_all(pkg, reset=T) # to reload the package without having to restart R
document(pkg) # to be used together with roxygen2 to creating the corresponding Rd files
run_examples(pkg) # to check the examples for the different functions
devtools:::check(pkg) # to verified if your package raises errors or warnings
devtools:::build(pkg)
install(pkg) # install your package
# release()
&lt;/pre&gt;
&lt;br /&gt;
Final consideration: the devtools package improved significantly my day-by-day workflow and I want to thank &lt;a href="http://had.co.nz/" target="_blank"&gt;Hadley Wickham&lt;/a&gt; for this and all the other valuable packages he gifted the R community!&amp;nbsp; &lt;br /&gt;
P.S. If you like to install the RWeather package I created using devtools, you can do it by typing: &lt;br /&gt;
&lt;pre class="brush: r"&gt;install.packages("RWeather", repos="http://R-Forge.R-project.org")&lt;/pre&gt;
or download the source code from &lt;a href="https://r-forge.r-project.org/src/contrib/RWeather_0.1.tar.gz" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;
P.S.2 I'd like to thank Kay Cichini for &lt;a href="http://thebiobucket.blogspot.com/2011/11/using-syntaxhighlighter-and-r-brush-in.html" target="_blank"&gt;this&lt;/a&gt; post which explains how to set-up the syntax-highlighting for the R code on Blogger.&lt;br /&gt;
&lt;br /&gt;
Update: Thanks to the useful info I got from &lt;a href="http://code.google.com/p/python-weather-api/" target="_blank"&gt;this&lt;/a&gt; Python module, now RWeather can show weather information from &lt;a href="http://developer.yahoo.com/weather/" target="_blank"&gt;Yahoo! Weather&lt;/a&gt;, Google Weather and &lt;a href="http://graphical.weather.gov/xml/" target="_blank"&gt;NOAA APIs&lt;/a&gt;.&lt;br /&gt;
From now the stable version of the package can be installed directly from CRAN:&lt;br /&gt;
&lt;pre class="brush: r"&gt;install.packages("RWeather")&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/ZvnoSDQXei0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/4679767631864297104/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2011/11/weather-forecast-and-good-development.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/4679767631864297104?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/4679767631864297104?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/ZvnoSDQXei0/weather-forecast-and-good-development.html" title="Weather forecast and good development practices" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2011/11/weather-forecast-and-good-development.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQHSXo8fyp7ImA9WhRTEEQ.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-2894431254305368608</id><published>2011-10-31T14:14:00.001Z</published><updated>2011-10-31T21:25:38.477Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-31T21:25:38.477Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="install" /><category scheme="http://www.blogger.com/atom/ns#" term="upgrade" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>R 2.14.0 is released!</title><content type="html">&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
The new R 2.14.0 is out! Get the source code from&amp;nbsp;&lt;a href="http://cran.r-project.org/src/base/R-2"&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Take a look at&amp;nbsp;&lt;a href="http://onertipaday.blogspot.com/search/label/upgrade"&gt;these&lt;/a&gt;&amp;nbsp;posts for some miscellaneous advices to make the upgrade easier.&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Also&amp;nbsp;&lt;a href="http://stackoverflow.com/questions/1401904/painless-way-to-install-a-new-version-of-r"&gt;this&lt;/a&gt;&amp;nbsp;thread on stackoverflow and &lt;a href="http://www.r-statistics.com/2011/04/how-to-upgrade-r-on-windows-7/"&gt;this&lt;/a&gt;&amp;nbsp;post contributed by &lt;a href="http://www.r-statistics.com/about/"&gt;Tal Galili&lt;/a&gt;&amp;nbsp;can be of some value to make the procedure less painful.&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Feel free to contribute with suggestions about how to upgrade your R installation.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/dbgcNfXK8ps" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/2894431254305368608/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2011/10/r-2140-is-released.html#comment-form" title="3 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/2894431254305368608?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/2894431254305368608?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/dbgcNfXK8ps/r-2140-is-released.html" title="R 2.14.0 is released!" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2011/10/r-2140-is-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YDRXc8fSp7ImA9WhRWE08.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-2091308031120843775</id><published>2011-07-27T16:30:00.001+01:00</published><updated>2011-12-31T09:52:54.975Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-31T09:52:54.975Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="text mining" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><category scheme="http://www.blogger.com/atom/ns#" term="visualization" /><category scheme="http://www.blogger.com/atom/ns#" term="text filtering" /><category scheme="http://www.blogger.com/atom/ns#" term="tag cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="plot" /><title>Word Cloud in R</title><content type="html">A word cloud (or&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Tag_cloud"&gt;tag cloud&lt;/a&gt;)&amp;nbsp;can be an handy tool when you need to highlight the most commonly cited words in a text using a quick visualization. Of course, you can use one of the several on-line services, such as &lt;a href="http://www.wordle.net/"&gt;wordle&lt;/a&gt;&amp;nbsp;or &lt;a href="http://www.tagxedo.com/"&gt;tagxedo&lt;/a&gt;&amp;nbsp;, very feature rich and with a nice GUI. Being an R&amp;nbsp;enthusiast, I always wanted to produce this kind of images within R and now, thanks to the&amp;nbsp;recently released Ian Fellows'&amp;nbsp;&lt;a href="http://cran.r-project.org/web/packages/wordcloud/index.html"&gt;wordcloud&lt;/a&gt; package, finally I can!&lt;br /&gt;
In order to test the package I retrieved the titles of the XKCD web comics included in my &lt;a href="http://cran.r-project.org/web/packages/RXKCD/"&gt;RXKCD&lt;/a&gt; package and produced a word cloud based on the titles' word frequencies calculated using the powerful &lt;a href="http://cran.r-project.org/web/packages/tm/index.html"&gt;tm&lt;/a&gt; package for text mining (I know, it is like killing a fly with a bazooka!).&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: r"&gt;library(RXKCD)
library(tm)
library(wordcloud)
library(RColorBrewer)
path &amp;lt;- system.file("xkcd", package = "RXKCD")
datafiles &amp;lt;- list.files(path)
xkcd.df &amp;lt;- read.csv(file.path(path, datafiles))
xkcd.corpus &amp;lt;- Corpus(DataframeSource(data.frame(xkcd.df[, 3])))
xkcd.corpus &amp;lt;- tm_map(xkcd.corpus, removePunctuation)
xkcd.corpus &amp;lt;- tm_map(xkcd.corpus, tolower)
xkcd.corpus &amp;lt;- tm_map(xkcd.corpus, function(x) removeWords(x, stopwords("english")))
tdm &amp;lt;- TermDocumentMatrix(xkcd.corpus)
m &amp;lt;- as.matrix(tdm)
v &amp;lt;- sort(rowSums(m),decreasing=TRUE)
d &amp;lt;- data.frame(word = names(v),freq=v)
pal &amp;lt;- brewer.pal(9, "BuGn")
pal &amp;lt;- pal[-(1:2)]
png("wordcloud.png", width=1280,height=800)
wordcloud(d$word,d$freq, scale=c(8,.3),min.freq=2,max.words=100, random.order=T, rot.per=.15, colors=pal, vfont=c("sans serif","plain"))
dev.off()&lt;/pre&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-KBEMlkW2hSs/Ti_GnYHLoFI/AAAAAAAAAyA/tdwY4b3eYIA/s1600/wordcloud.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="377" src="http://4.bp.blogspot.com/-KBEMlkW2hSs/Ti_GnYHLoFI/AAAAAAAAAyA/tdwY4b3eYIA/s400/wordcloud.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
As a second example, &amp;nbsp;inspired by &lt;a href="http://ekonometrics.blogspot.com/2011/04/painting-picture-of-statistical.html"&gt;this&lt;/a&gt; post from the &lt;a href="http://ekonometrics.blogspot.com/"&gt;eKonometrics&lt;/a&gt; blog, I created a word cloud from the description of &amp;nbsp;3177 available R packages listed at &lt;a href="http://cran.r-project.org/web/packages"&gt;http://cran.r-project.org/web/packages&lt;/a&gt;.&lt;br /&gt;
&lt;pre class="brush: r"&gt;require(XML)
require(tm)
require(wordcloud)
require(RColorBrewer)
u = "http://cran.r-project.org/web/packages/available_packages_by_date.html"
t = readHTMLTable(u)[[1]]
ap.corpus &amp;lt;- Corpus(DataframeSource(data.frame(as.character(t[,3]))))
ap.corpus &amp;lt;- tm_map(ap.corpus, removePunctuation)
ap.corpus &amp;lt;- tm_map(ap.corpus, tolower)
ap.corpus &amp;lt;- tm_map(ap.corpus, function(x) removeWords(x, stopwords("english")))
ap.tdm &amp;lt;- TermDocumentMatrix(ap.corpus)
ap.m &amp;lt;- as.matrix(ap.tdm)
ap.v &amp;lt;- sort(rowSums(ap.m),decreasing=TRUE)
ap.d &amp;lt;- data.frame(word = names(ap.v),freq=ap.v)
table(ap.d$freq)
pal2 &amp;lt;- brewer.pal(8,"Dark2")
png("wordcloud_packages.png", width=1280,height=800)
wordcloud(ap.d$word,ap.d$freq, scale=c(8,.2),min.freq=3,
max.words=Inf, random.order=FALSE, rot.per=.15, colors=pal2)
dev.off()&lt;/pre&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span class="Apple-style-span"&gt;&lt;a href="http://4.bp.blogspot.com/-v901zsv6H_0/Ti_eQnOARaI/AAAAAAAAAyE/68jNzvGz3d4/s1600/wordcloud_packages.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-v901zsv6H_0/Ti_eQnOARaI/AAAAAAAAAyE/68jNzvGz3d4/s320/wordcloud_packages.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
As a third example, thanks to Jim's comment, I take advantage of &lt;a href="http://www.omegahat.org/" target="_blank"&gt;Duncan Temple Lang&lt;/a&gt;'s RNYTimes package to access user-generate content on the NY Times and produce a wordcloud of 'today' comments on articles.&lt;br /&gt;
Caveat: in order to use the RNYTimes package you need a API key from The New York Times which you can get by registering to the The New York Times Developer Network (free of charge) from &lt;a href="http://developer.nytimes.com/" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;pre class="brush: r"&gt;require(XML)
require(tm)
require(wordcloud)
require(RColorBrewer)
install.packages(packageName, repos = "http://www.omegahat.org/R", type = "source")
require(RNYTimes)
my.key &amp;lt;- "your API key here"
what= paste("by-date", format(Sys.time(), "%Y-%m-%d"),sep="/")
# what="recent"
recent.news &amp;lt;- community(what=what, key=my.key)
pagetree &amp;lt;- htmlTreeParse(recent.news, error=function(...){}, useInternalNodes = TRUE)
x &amp;lt;- xpathSApply(pagetree, "//*/body", xmlValue)
# do some clean up with regular expressions
x &amp;lt;- unlist(strsplit(x, "\n"))
x &amp;lt;- gsub("\t","",x)
x &amp;lt;- sub("^[[:space:]]*(.*?)[[:space:]]*$", "\\1", x, perl=TRUE)
x &amp;lt;- x[!(x %in% c("", "|"))]
ap.corpus &amp;lt;- Corpus(DataframeSource(data.frame(as.character(x))))
ap.corpus &amp;lt;- tm_map(ap.corpus, removePunctuation)
ap.corpus &amp;lt;- tm_map(ap.corpus, tolower)
ap.corpus &amp;lt;- tm_map(ap.corpus, function(x) removeWords(x, stopwords("english")))
ap.tdm &amp;lt;- TermDocumentMatrix(ap.corpus)
ap.m &amp;lt;- as.matrix(ap.tdm)
ap.v &amp;lt;- sort(rowSums(ap.m),decreasing=TRUE)
ap.d &amp;lt;- data.frame(word = names(ap.v),freq=ap.v)
table(ap.d$freq)
pal2 &amp;lt;- brewer.pal(8,"Dark2")
png("wordcloud_NewYorkTimes_Community.png", width=1280,height=800)
wordcloud(ap.d$word,ap.d$freq, scale=c(8,.2),min.freq=2,
max.words=Inf, random.order=FALSE, rot.per=.15, colors=pal2)
dev.off()&lt;/pre&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Djwtj6JF_UA/Tv7aN-3E5MI/AAAAAAAABBc/BcogkgjJpEY/s1600/wordcloud_NewYorkTimes_Community.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-Djwtj6JF_UA/Tv7aN-3E5MI/AAAAAAAABBc/BcogkgjJpEY/s320/wordcloud_NewYorkTimes_Community.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/U2Iop67rxkA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/2091308031120843775/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2011/07/word-cloud-in-r.html#comment-form" title="33 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/2091308031120843775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/2091308031120843775?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/U2Iop67rxkA/word-cloud-in-r.html" title="Word Cloud in R" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-KBEMlkW2hSs/Ti_GnYHLoFI/AAAAAAAAAyA/tdwY4b3eYIA/s72-c/wordcloud.png" height="72" width="72" /><thr:total>33</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2011/07/word-cloud-in-r.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcHRHg-eCp7ImA9WhRXE00.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-8904773746941290624</id><published>2011-07-14T08:33:00.002+01:00</published><updated>2011-12-19T15:03:55.650Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-19T15:03:55.650Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wrapper" /><category scheme="http://www.blogger.com/atom/ns#" term="comics" /><category scheme="http://www.blogger.com/atom/ns#" term="package" /><title>R meets XKCD</title><content type="html">Being a big fan of &lt;a href="http://xkcd.com/"&gt;XKCD&lt;/a&gt;&amp;nbsp;and, of course, of the R programming language, I thought that a package which allows to display my favorite strips &amp;nbsp;would something (useless) but cool!&lt;br /&gt;
So, mimicking&amp;nbsp;the approach (and the code) of the &lt;a href="http://cran.r-project.org/web/packages/fortunes/index.html"&gt;fortunes&lt;/a&gt; package (thanks Achim Zeileis!),&amp;nbsp;I created a simple package (names RXKCD) which allows the user to displays his favorite XKCD strip by selecting the specific number, randomly or simply displaying the current strip.&lt;br /&gt;
You can install the package using:&lt;br /&gt;
&lt;pre class="brush: r"&gt;if (!require('RJSONIO')) install.packages('RJSONIO', repos = 'http://cran.r-project.org')
if (!require('png')) install.packages('png', repos = 'http://cran.r-project.org')
if (!require('ReadImages')) install.packages('ReadImages', repos = 'http://cran.r-project.org')
install.packages("RXKCD", repos="http://R-Forge.R-project.org")&lt;/pre&gt;
And you can use it by typing:&lt;br /&gt;
&lt;pre class="brush: r"&gt;library(RXKCD)
searchXKCD("someone is wrong")
getXKCD(386)&lt;/pre&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Below the result (&lt;a href="http://xkcd.com/license.html"&gt;xkcd license&lt;/a&gt;):&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-nIvqN_8SWNM/Th6YpInMvFI/AAAAAAAAAks/-KfDsItAgDk/s1600/Duty+Calls.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-nIvqN_8SWNM/Th6YpInMvFI/AAAAAAAAAks/-KfDsItAgDk/s320/Duty+Calls.png" width="290" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Update&lt;/b&gt;: The updated version of the &lt;a href="http://cran.r-project.org/web/packages/RXKCD/index.html" target="_blank"&gt;package&lt;/a&gt; , which is available from CRAN (just type &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;install.packages("RXKCD")&lt;/span&gt; ), allows the user to save the xkcd metadata database in a local directory (&lt;i&gt;.Rconfig&lt;/i&gt;) and update it in order to have access to the latest XKCD info: see &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;?saveConfig&lt;/span&gt; and &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;?updateConfig&lt;/span&gt;.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/FDsDxKctSW0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/8904773746941290624/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2011/07/r-meets-xkcd.html#comment-form" title="8 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/8904773746941290624?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/8904773746941290624?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/FDsDxKctSW0/r-meets-xkcd.html" title="R meets XKCD" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-nIvqN_8SWNM/Th6YpInMvFI/AAAAAAAAAks/-KfDsItAgDk/s72-c/Duty+Calls.png" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2011/07/r-meets-xkcd.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQGQXs_eSp7ImA9WhZbGUw.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-843042180264650504</id><published>2011-06-24T13:25:00.001+01:00</published><updated>2011-06-24T13:25:20.541+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-24T13:25:20.541+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="install" /><category scheme="http://www.blogger.com/atom/ns#" term="mac os x" /><category scheme="http://www.blogger.com/atom/ns#" term="upgrade" /><title>Installing Multiple Version of R in parallel on the same machine - Mac OS X</title><content type="html">In a few days I'm going to attend a &lt;a href="http://users.unimi.it/marray/2011/"&gt;Bioconductor Course&lt;/a&gt;;&amp;nbsp;I was requested to install on my MacBook (Mac OS X 10.5.8) a developer version of R (plus ad hoc Bioconductor packages). In order to keep my old R installation ((2.13)&amp;nbsp;along side the new one (2.14) I decided to use the RSwitch app (you can download from &lt;a href="http://r.research.att.com/#other"&gt;here&lt;/a&gt;) and the instructions you can read&amp;nbsp;&lt;a href="http://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#How-can-R-for-Mac-OS-X-be-obtained-and-installed_003f"&gt;here&lt;/a&gt;.&lt;br /&gt;
In practical term, you type the following commands in Terminal:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;sudo pkgutil --forget org.r-project.R.Leopard.fw.pkg&lt;br /&gt;
sudo pkgutil --forget org.r-project.R.Leopard.GUI.pkg&lt;br /&gt;
sudo pkgutil --forget org.r-project.R.Leopard.GUI64.pkg&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
You install the alternative version of R (for example,&amp;nbsp;following the procedure depicted &lt;a href="http://onertipaday.blogspot.com/search/label/mac%20os%20x"&gt;here&lt;/a&gt;) and then you can switch between the different version using the RSwitch GUI (see the below screenshot). So easy!&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-HiA7i_-XvhU/TgR_zzG37wI/AAAAAAAAAhc/nR2cnuLQrjM/s1600/RSwitch.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-HiA7i_-XvhU/TgR_zzG37wI/AAAAAAAAAhc/nR2cnuLQrjM/s320/RSwitch.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/DvCqTvtmGCI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/843042180264650504/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2011/06/installing-multiple-version-of-r-in.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/843042180264650504?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/843042180264650504?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/DvCqTvtmGCI/installing-multiple-version-of-r-in.html" title="Installing Multiple Version of R in parallel on the same machine - Mac OS X" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-HiA7i_-XvhU/TgR_zzG37wI/AAAAAAAAAhc/nR2cnuLQrjM/s72-c/RSwitch.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2011/06/installing-multiple-version-of-r-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQCQ3g4fyp7ImA9WhRTEEQ.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-3383084128293271156</id><published>2011-04-14T12:41:00.001+01:00</published><updated>2011-10-31T21:26:02.637Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-31T21:26:02.637Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="upgrade" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>R 2.13.0 is released!</title><content type="html">&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
The new R 2.13.0 is out! Get the source code from&amp;nbsp;&lt;a href="http://cran.r-project.org/src/base/R-2"&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Take a look at&amp;nbsp;&lt;a href="http://onertipaday.blogspot.com/search/label/upgrade"&gt;these&lt;/a&gt;&amp;nbsp;posts for some miscellaneous advices to make the upgrade easier.&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Also&amp;nbsp;&lt;a href="http://stackoverflow.com/questions/1401904/painless-way-to-install-a-new-version-of-r"&gt;this&lt;/a&gt;&amp;nbsp;thread on stackoverflow and &lt;a href="http://www.r-statistics.com/2011/04/how-to-upgrade-r-on-windows-7/"&gt;this&lt;/a&gt;&amp;nbsp;post contributed by &lt;a href="http://www.r-statistics.com/about/"&gt;Tal Galili&lt;/a&gt;&amp;nbsp;can be of some value to make the procedure less painful.&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Feel free to contribute with suggestions about how to upgrade your R installation.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/Kp1SmXiqG6E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/3383084128293271156/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2011/04/r-2130-is-released.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/3383084128293271156?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/3383084128293271156?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/Kp1SmXiqG6E/r-2130-is-released.html" title="R 2.13.0 is released!" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2011/04/r-2130-is-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAASXk_eCp7ImA9Wx9VFk4.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-6476819501504794803</id><published>2011-02-02T08:52:00.000Z</published><updated>2011-02-02T08:52:28.740Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-02T08:52:28.740Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reference" /><category scheme="http://www.blogger.com/atom/ns#" term="plot" /><category scheme="http://www.blogger.com/atom/ns#" term="basic" /><title>Plotting images on a grid using R or Python</title><content type="html">A thread depicting how to insert a png image in a plot, thanks to &lt;a href="http://stackoverflow.com/"&gt;Stackoverflow&lt;/a&gt;: &lt;a href="http://stackoverflow.com/questions/4860417/plotting-images-on-a-grid"&gt;plotting-images-on-a-grid&lt;/a&gt;. &lt;br /&gt;
A very basic tip, still useful to someone.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/wFBypPuAdmQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/6476819501504794803/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2011/02/plotting-images-on-grid-using-r-or.html#comment-form" title="6 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/6476819501504794803?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/6476819501504794803?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/wFBypPuAdmQ/plotting-images-on-grid-using-r-or.html" title="Plotting images on a grid using R or Python" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2011/02/plotting-images-on-grid-using-r-or.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ANRncyfCp7ImA9Wx9QF0Q.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-9128340063255991395</id><published>2010-12-31T11:43:00.000Z</published><updated>2010-12-31T11:43:17.994Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-31T11:43:17.994Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reference" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>R Journal 2/2</title><content type="html">The last gift of 2010: R Journal 2/2 is out! Get it from &lt;a href="http://journal.r-project.org/archive/2010-2/RJournal_2010-2.pdf"&gt;here&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/HvJyM3VZCio" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/9128340063255991395/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2010/12/r-journal-22.html#comment-form" title="2 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/9128340063255991395?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/9128340063255991395?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/HvJyM3VZCio/r-journal-22.html" title="R Journal 2/2" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2010/12/r-journal-22.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHQngyeSp7ImA9Wx9REEU.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-8151770415465694451</id><published>2010-11-08T09:41:00.004Z</published><updated>2010-12-11T15:32:13.691Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-11T15:32:13.691Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wrapper" /><category scheme="http://www.blogger.com/atom/ns#" term="curl" /><category scheme="http://www.blogger.com/atom/ns#" term="API" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>A R wrapper for Google Prediction API</title><content type="html">Since I got the chance to access to both Google Storage for Developers and Google Prediction API (more details &lt;a href="http://code.google.com/apis/storage/"&gt;here&lt;/a&gt; and &lt;a href="http://code.google.com/apis/predict/"&gt;here&lt;/a&gt;), I decided to create a simple wrapper (just 4 basic functions until now) to be capable to play with the Google Prediction API from R.&lt;br /&gt;
&lt;a href="https://github.com/onertipaday/predictionapirwrapper"&gt;Here&lt;/a&gt; you can find the github repository for the project and below few lines of code reproducing an &lt;a href="http://code.google.com/apis/predict/docs/getting-started.html#start"&gt;example&lt;/a&gt;&amp;nbsp;you can find on the Google Prediction API website.&lt;br /&gt;
&lt;br /&gt;
Download the source code from &lt;a href="https://github.com/onertipaday/predictionapirwrapper/archives/master"&gt;here&lt;/a&gt;.&lt;br /&gt;
Either source the functions contained in the R directory or install the package typing (from the command line in a Unix-like environment):&lt;br /&gt;
R CMD INSTALL&amp;nbsp;predictionapirwrapper_1.0.tar.gz&lt;br /&gt;
# start R and type (code highlighting thanks to Revolution Analytics &lt;a href="http://www.inside-r.org/pretty-r/tool"&gt;Pretty R syntax highlighter&lt;/a&gt;):&lt;br /&gt;
&lt;div style="overflow: auto;"&gt;&lt;div class="geshifilter"&gt;&lt;pre class="r geshifilter-R" style="font-family: monospace;"&gt;&lt;span style="color: #99ccff;"&gt;library&lt;/span&gt;&lt;span style="color: #009900;"&gt;(&lt;/span&gt;predictionapirwrapper&lt;span style="color: #009900;"&gt;)&lt;/span&gt;
&lt;span style="color: #666666; font-style: italic;"&gt;## The first stage of using the API is to acquire an authorization token. This can be done via this command:&lt;/span&gt;
token &amp;lt;- GetAuthToken&lt;span style="color: #009900;"&gt;(&lt;/span&gt;email=&lt;span style="color: #99ccff;"&gt;"user@gmail.com"&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; passwd=&lt;span style="color: #99ccff;"&gt;"mypassword"&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;
&lt;span style="color: #666666; font-style: italic;"&gt;## This command begins training on data that has been previously uploaded to Google Storage.&lt;/span&gt;
GoogleTrain&lt;span style="color: #009900;"&gt;(&lt;/span&gt;auth_token=token$Auth&lt;span style="color: #339933;"&gt;,&lt;/span&gt; mybucket=&lt;span style="color: #99ccff;"&gt;"data_languages"&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; mydata=&lt;span style="color: #99ccff;"&gt;"language_id.txt"&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;
&lt;span style="color: #666666; font-style: italic;"&gt;## Once training has started, this command checks the status of the training job and gets meta-information on the model (if available).&lt;/span&gt;
GoogleTrainCheck&lt;span style="color: #009900;"&gt;(&lt;/span&gt;auth_token=token$Auth&lt;span style="color: #339933;"&gt;,&lt;/span&gt; mybucket=&lt;span style="color: #99ccff;"&gt;"data_languages"&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; mydata=&lt;span style="color: #99ccff;"&gt;"language_id.txt"&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;
&lt;span style="color: #666666; font-style: italic;"&gt;## When training has finished, this command issues a request for a new prediction from the model. &lt;/span&gt;
GooglePredict&lt;span style="color: #009900;"&gt;(&lt;/span&gt;auth_token=token$Auth&lt;span style="color: #339933;"&gt;,&lt;/span&gt; mybucket=&lt;span style="color: #99ccff;"&gt;"data_languages"&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; mydata=&lt;span style="color: #99ccff;"&gt;"language_id.txt"&lt;/span&gt;&lt;span style="color: #339933;"&gt;,&lt;/span&gt; myinput=&lt;span style="color: #99ccff;"&gt;"La idioma mas fina"&lt;/span&gt;&lt;span style="color: #009900;"&gt;)&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
All comments, corrections, alternative code are more than welcome!&lt;br /&gt;
&lt;br /&gt;
Update: a more complete and functional alternative can be found &lt;a href="https://code.google.com/p/google-prediction-api-r-client/"&gt;here&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/TPSIvb-bsYo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/8151770415465694451/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2010/11/r-wrapper-for-google-prediction-api.html#comment-form" title="2 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/8151770415465694451?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/8151770415465694451?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/TPSIvb-bsYo/r-wrapper-for-google-prediction-api.html" title="A R wrapper for Google Prediction API" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2010/11/r-wrapper-for-google-prediction-api.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQDRHk_eCp7ImA9WhRTEEQ.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-1122168198961190052</id><published>2010-10-15T12:03:00.000+01:00</published><updated>2011-10-31T21:26:15.740Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-31T21:26:15.740Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="upgrade" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>R 2.12.0 is released!</title><content type="html">The new R 2.12.0 is out! Get the source code from &lt;a href="http://cran.r-project.org/src/base/R-2"&gt;here&lt;/a&gt;.&lt;br /&gt;
Take a look at &lt;a href="http://onertipaday.blogspot.com/search/label/upgrade"&gt;these&lt;/a&gt; posts for some miscellaneous advices to make the upgrade easier.&lt;br /&gt;
Also &lt;a href="http://stackoverflow.com/questions/1401904/painless-way-to-install-a-new-version-of-r"&gt;this&lt;/a&gt; thread on stackoverflow can be of some value.&lt;br /&gt;
Feel free to contribute with suggestions about how to upgrade your R installation.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/sate8exirdg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/1122168198961190052/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2010/10/r-2120-is-released.html#comment-form" title="5 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/1122168198961190052?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/1122168198961190052?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/sate8exirdg/r-2120-is-released.html" title="R 2.12.0 is released!" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2010/10/r-2120-is-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08HSHg-fip7ImA9WxFaF0w.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-1305553166738506240</id><published>2010-07-21T13:37:00.000+01:00</published><updated>2010-07-21T13:37:19.656+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-21T13:37:19.656+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="resource" /><title>R Cheat Sheets and more</title><content type="html">&lt;a href="http://devcheatsheet.com/tag/r/"&gt;Here&lt;/a&gt; you can find a collection of cheat sheets useful to R developers.&lt;br /&gt;
Visit the devcheatsheet &lt;a href="http://devcheatsheet.com/"&gt;homepage&lt;/a&gt; to inspect cheat sheets and quick reference card for other programming languages and applications.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/nrwR7Yv5p0k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/1305553166738506240/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2010/07/r-cheat-sheets-and-more.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/1305553166738506240?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/1305553166738506240?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/nrwR7Yv5p0k/r-cheat-sheets-and-more.html" title="R Cheat Sheets and more" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2010/07/r-cheat-sheets-and-more.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEASXwyfyp7ImA9WxFUGUw.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-3105625302230495138</id><published>2010-06-30T17:00:00.000+01:00</published><updated>2010-06-30T17:00:48.297+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-30T17:00:48.297+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reference" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>R Journal 2/1</title><content type="html">R Journal 2/1 is out! Grab it from &lt;a href="http://journal.r-project.org/index.html"&gt;here&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/KvlyR-1cMg4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/3105625302230495138/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2010/06/r-journal-21.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/3105625302230495138?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/3105625302230495138?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/KvlyR-1cMg4/r-journal-21.html" title="R Journal 2/1" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2010/06/r-journal-21.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQMSH88fCp7ImA9WhRTEEQ.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-6133262501055900782</id><published>2010-04-22T13:07:00.002+01:00</published><updated>2011-10-31T21:26:29.174Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-31T21:26:29.174Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="upgrade" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>R 2.11.0 is released!</title><content type="html">The new R 2.11.0 is out! Get it from &lt;a href="http://cran.r-project.org/src/base/R-2/R-2.11.0.tar.gz"&gt;here&lt;/a&gt;.&lt;br /&gt;
Take a look at &lt;a href="http://onertipaday.blogspot.com/search/label/upgrade"&gt;these&lt;/a&gt; posts for some miscellaneous advices to make the upgrade easier.&lt;br /&gt;
Also &lt;a href="http://stackoverflow.com/questions/1401904/painless-way-to-install-a-new-version-of-r"&gt;this&lt;/a&gt; thread on stackoverflow can be of some value.&lt;br /&gt;
Feel free to contribute with suggestions about how to upgrade your R installation.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/Rbtx1PBf82w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/6133262501055900782/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2010/04/r-2110-is-released.html#comment-form" title="4 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/6133262501055900782?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/6133262501055900782?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/Rbtx1PBf82w/r-2110-is-released.html" title="R 2.11.0 is released!" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2010/04/r-2110-is-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AESX4yeSp7ImA9WhRSGEs.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-7062722482977267687</id><published>2010-03-19T11:35:00.001Z</published><updated>2011-11-21T08:55:08.091Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-21T08:55:08.091Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ggplot2" /><category scheme="http://www.blogger.com/atom/ns#" term="balloonplot" /><category scheme="http://www.blogger.com/atom/ns#" term="plot" /><title>Balloon plot using ggplot2</title><content type="html">Following &lt;a href="http://www.talgalili.com/"&gt;Tal Galili&lt;/a&gt; example and using part of his code,  I want to plot the balloonplot you can see &lt;a href="http://www.informationisbeautiful.net/play/snake-oil-supplements/"&gt;here&lt;/a&gt; using R and the excellent &lt;a href="http://cran.r-project.org/web/packages/ggplot2/index.html"&gt;ggplot2&lt;/a&gt; package by &lt;a href="http://had.co.nz/"&gt;Hadley Wickham&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: r"&gt;### I retrieve the data from the google document you can find here using Tal Galili code:
## I slightly modified Tal code to include popularity stats:
supplement.popularity &lt;- supplements.data[ss,7]
supplements.df &lt;- na.omit(data.frame(supplement.name, supplement.benefits, supplement.popularity, supplement.score)) ## remove rows containing NAs
colnames(supplements.df) &lt;- c("name", "benefits", "popularity", "score")
## For sake of simplicity I select only the cardio metacondition
cardio &lt;- (supplements.df[supplement.benefits=="cardio",])[, -2]&lt;/pre&gt;
&lt;pre class="brush: r"&gt;## For reproducibility I add the cardio data.frame so you can use it right away
cardio &lt;- read.table(tc &lt;-textConnection(
" name popularity score
2 'arginine' 1.080 3
10 'vitamin b3' 0.201 3
15 'omega 3' 4.000 3
22 'hawthorn' 0.442 4
27 'red yeast rice' 0.264 4
29 'vitamin d' 6.700 4
31 'omega 6' 2.000 4
35 'green tea' 26.100 5
37 'olive leaf' 0.224 5
41 'fish oil' 4.000 6
43 'red yeast rice' 0.264 6")); close(tc)
cardio$name &lt;- gsub(" ", "\n", cardio$name) #substitute ' ' with '\n' in the names&lt;/pre&gt;
&lt;pre class="brush: r"&gt;library(ggplot2)
myTheme &lt;- function(base_size = 10) {
structure(list(
panel.background = theme_rect(size = 1, colour = "lightgray"),
panel.grid.major = theme_blank(),
panel.grid.minor = theme_blank(),
axis.line = theme_blank(),
axis.text.x = theme_blank(),
axis.ticks = theme_blank(),
strip.background = theme_blank(),
strip.text.y = theme_blank(),
legend.background = theme_blank(),
legend.key = theme_blank(),
legend.key.size = unit(1.2, "lines"),
legend.title = theme_text(size = 8, face = "bold", hjust = 0),
legend.position = "right"
), class = "options")
}&lt;/pre&gt;
&lt;pre class="brush: r"&gt;s &lt;- ggplot(cardio, aes(name, score)) + xlab(NULL) + ylab(NULL) + myTheme()
s &lt;- s + geom_point( aes(size=popularity, colour=score, fill=score), legend=TRUE) +
scale_y_continuous( breaks=as.numeric(levels(factor(cardio$score))), labels=c("Conflicting", "Promising", "Good", "Strong") ) +
scale_area( breaks=c(min(cardio$popularity),mean(cardio$popularity),max(cardio$popularity)), to=c(4,60) ) +
geom_text(aes(y=cardio$score, label=cardio$name, size=cardio$popularity/90), legend=FALSE)
#pdf("cardio.pdf",height=8,width=12);s;dev.off()
png("cardio.png",height=700,width=1000);s;dev.off()&lt;/pre&gt;
&lt;a href="http://1.bp.blogspot.com/_zct02J1FROM/S6NjmWrqclI/AAAAAAAAAa4/hEXGfNqPkmc/s1600-h/cardio.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5450309484623327826" src="http://1.bp.blogspot.com/_zct02J1FROM/S6NjmWrqclI/AAAAAAAAAa4/hEXGfNqPkmc/s320/cardio.png" style="cursor: hand; cursor: pointer; display: block; height: 224px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/h8t9pQq1hv0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/7062722482977267687/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2010/03/balloon-plot-using-ggplot2.html#comment-form" title="2 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/7062722482977267687?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/7062722482977267687?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/h8t9pQq1hv0/balloon-plot-using-ggplot2.html" title="Balloon plot using ggplot2" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_zct02J1FROM/S6NjmWrqclI/AAAAAAAAAa4/hEXGfNqPkmc/s72-c/cardio.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2010/03/balloon-plot-using-ggplot2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUANQXw9eyp7ImA9WxBUGUU.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-6476622474529086725</id><published>2010-03-07T17:43:00.000Z</published><updated>2010-03-07T17:43:10.263Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-07T17:43:10.263Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="podcast" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><category scheme="http://www.blogger.com/atom/ns#" term="italiano" /><title>One R Tip A Day meets Tecnica Arcana</title><content type="html">For italian speaking people only (sorry!).&lt;br /&gt;
&lt;br /&gt;
Carlo il curatore dell'ottimo podcast tecnologico &lt;a href="http://www.tecnicaarcana.com/"&gt;&lt;b&gt;Tecnica Arcana&lt;/b&gt;&lt;/a&gt;&amp;nbsp;mi ha intervistato sulla mia professione e su R. &lt;a href="http://www.tecnicaarcana.com/2010/ta-039-linguaggio-di-programmazione-r-e-bioinformatica/"&gt;Qui&lt;/a&gt; potete scaricare l'intervista in formato mp3.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/fefLI4e2QE0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/6476622474529086725/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2010/03/one-r-tip-day-meets-tecnica-arcana.html#comment-form" title="3 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/6476622474529086725?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/6476622474529086725?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/fefLI4e2QE0/one-r-tip-day-meets-tecnica-arcana.html" title="One R Tip A Day meets Tecnica Arcana" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2010/03/one-r-tip-day-meets-tecnica-arcana.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YBQXozeip7ImA9WxBRGEU.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-5513522438218158180</id><published>2010-01-07T16:19:00.000Z</published><updated>2010-01-07T16:19:10.482Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-07T16:19:10.482Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="plot" /><category scheme="http://www.blogger.com/atom/ns#" term="basic" /><category scheme="http://www.blogger.com/atom/ns#" term="axis" /><title>Scatter plot with 4 axes labels and grid</title><content type="html">Ravi from &lt;a href="http://blog.revolution-computing.com/2010/01/r-package-growth.html"&gt;this&lt;/a&gt; post (via Revolutions blog) wanted to check the code that produces the left panel of the Figure 3 from &lt;a href="http://journal.r-project.org/archive/2009-2/RJournal_2009-2_Fox.pdf"&gt;this&lt;/a&gt;&amp;nbsp;article taken from the current issue of the &lt;a href="http://journal.r-project.org/archive/2009-2/2009-2_index.html"&gt;R Journal&lt;/a&gt;. Below my attempt to reproduce the plot:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_zct02J1FROM/S0YG0tq6E6I/AAAAAAAAAak/uC6uWHbsA-4/s1600-h/CRAN_packages.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_zct02J1FROM/S0YG0tq6E6I/AAAAAAAAAak/uC6uWHbsA-4/s320/CRAN_packages.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;code&gt;rv &amp;lt;- seq(1.3, 2.9, .1)&lt;br /&gt;
rv &amp;lt;- rv[-grep("1.6", rv)] # remove R version 1.6&lt;br /&gt;
pckg.num &amp;lt;- c(110,129,162,219,273,357,406,548,647,739,911,1000,1300,1427,1614,1952)&lt;br /&gt;
rv.dates &amp;lt;- c("2001-6-21", "2001-12-17","2002-06-12","2003-05-27",&lt;br /&gt;
"2003-11-16","2004-06-05","2004-10-12","2005-06-18","2005-12-16", "2006-05-31",&lt;br /&gt;
"2006-12-12","2007-04-12","2007-11-16","2008-03-18","2008-10-18","2009-09-17")&lt;br /&gt;
pckg.fit &amp;lt;- lm(pckg.num~rv)&lt;br /&gt;
png("CRAN_packages.png")&lt;br /&gt;
par(mar=c(7, 5, 5, 3), las=2)&lt;br /&gt;
plot(as.POSIXct(rv.dates), pckg.num, xlab="",ylab="",col="red", log="y", pch=19, axes=F)&lt;br /&gt;
axis.POSIXct(1, 1:16, rv.dates, format="%Y-%m-%d")&lt;br /&gt;
mtext("Date", side=1, line=5, las=1)&lt;br /&gt;
axis(2, at=c(100,200,300,400,500,600,800,100,1200,1500,2000))&lt;br /&gt;
mtext("Number of CRAN Packages", side=2, line=3, las=3)&lt;br /&gt;
axis.POSIXct(3, rv.dates, rv.dates, labels=as.character(rv))&lt;br /&gt;
mtext("R Version", side=3, line=3, las=1)&lt;br /&gt;
axis(4, pckg.num)&lt;br /&gt;
abline(v=as.POSIXct(rv.dates), col="lightgray", lty="dashed")&lt;br /&gt;
abline(h=pckg.num, col="lightgray", lty="dashed")&lt;br /&gt;
box()&lt;br /&gt;
abline(lm(log10(pckg.num)~as.POSIXct(rv.dates)), col="red")&lt;br /&gt;
dev.off()&lt;br /&gt;
&lt;/code&gt;&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/88lmlSIh-nQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/5513522438218158180/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2010/01/scatter-plot-with-4-axes-labels-and.html#comment-form" title="2 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/5513522438218158180?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/5513522438218158180?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/88lmlSIh-nQ/scatter-plot-with-4-axes-labels-and.html" title="Scatter plot with 4 axes labels and grid" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_zct02J1FROM/S0YG0tq6E6I/AAAAAAAAAak/uC6uWHbsA-4/s72-c/CRAN_packages.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2010/01/scatter-plot-with-4-axes-labels-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ICSH8yfSp7ImA9WxBRFkQ.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-2338603786364437375</id><published>2010-01-05T12:46:00.000Z</published><updated>2010-01-05T12:46:09.195Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-05T12:46:09.195Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reference" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>R Journal 1/2</title><content type="html">R Journal 1/2 is out! Grab it from &lt;a href="http://journal.r-project.org/archive/2009-2/RJournal_2009-2.pdf"&gt;here&lt;/a&gt;.&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/PxYL1ShXV3I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/2338603786364437375/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2010/01/r-journal-12.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/2338603786364437375?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/2338603786364437375?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/PxYL1ShXV3I/r-journal-12.html" title="R Journal 1/2" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2010/01/r-journal-12.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EERXk7eyp7ImA9WxBRFkQ.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-8247104182323681500</id><published>2009-12-12T16:21:00.002Z</published><updated>2010-01-05T12:46:44.703Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-05T12:46:44.703Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reference" /><category scheme="http://www.blogger.com/atom/ns#" term="resource" /><category scheme="http://www.blogger.com/atom/ns#" term="R-help" /><category scheme="http://www.blogger.com/atom/ns#" term="R_News" /><title>A central hub for R bloggers</title><content type="html">I would like to suggest to my readers to take a look and bookmark a new blog named &lt;a href="http://www.r-bloggers.com/"&gt;R-bloggers&lt;/a&gt; which aims to be "a central hub of content collected from bloggers who write about R".&lt;br /&gt;It seems a nice idea to me to have a centralized source of information for the R blogger community.&lt;br /&gt;Good Luck, Tal!&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/vVXUXc-hRvU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/8247104182323681500/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2009/12/central-hub-for-r-bloggers.html#comment-form" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/8247104182323681500?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/8247104182323681500?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/vVXUXc-hRvU/central-hub-for-r-bloggers.html" title="A central hub for R bloggers" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2009/12/central-hub-for-r-bloggers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUMRXY9fip7ImA9WxNbE0s.&quot;"><id>tag:blogger.com,1999:blog-7556813435224291579.post-3392176773150086667</id><published>2009-11-16T08:58:00.002Z</published><updated>2009-11-16T09:04:44.866Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-16T09:04:44.866Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="review" /><category scheme="http://www.blogger.com/atom/ns#" term="book" /><title>R in Action - early thoughts</title><content type="html">I was invited to review the book &lt;a href="http://www.manning.com/kabacoff/"&gt;R in Action&lt;/a&gt; written by Rob Kabacoff. Since I consider the &lt;a href="http://www.statmethods.net/"&gt;Quick-R&lt;/a&gt; website, created by the same smart guy, one of the most valuable resources about R, It is both an honor and a pleasure to have the opportunity to take an early look at his book and to express some thoughts about it.&lt;br /&gt;&lt;br /&gt;First, this book is distributed under an early access policy that means, as it is stated on the &lt;a href="http://www.manning.com/about/meap.htm"&gt;editor's web site&lt;/a&gt;, that: &lt;span style="font-family:Times, 'Times New Roman', serif;"&gt;&lt;i&gt;This Early Access version of the book enables you to receive new chapters as they are being written. You can also interact with the authors to ask questions, provide feedback and errata, and help shape the final manuscript on the Author Online&lt;/i&gt;&lt;/span&gt;. This is a nice publishing approach, the editor settled up an ad-hoc &lt;a href="http://www.manning-sandbox.com/forum.jspa?forumID=578"&gt;forum&lt;/a&gt; which allows real-time feedback from early adopters. This beta-test sort of approach is convenient both to the author that can fix errata and improve contents before the final version is published and to the early adopters that can access to useful contents in advance and receive valuable explanations directly from the author.&lt;br /&gt;&lt;br /&gt;Since only the initial part of the book is available, this short review will be at most incomplete and present only preliminary thoughts. I'm going to update the review as soon as I have the possibility to read the rest of the book.&lt;br /&gt;&lt;br /&gt;R in Action, as mimicked in its structure, aims to guide the new adopters from the vary basics of the language through to the most advanced features by a progressive task-driven approach carefully curated by the author.&lt;br /&gt;&lt;br /&gt;In the initial part of the book, Kabacoff covers all the basic features of the language from data manipulation to the basic statistics required to make sense of the data plus the most common and useful graphical methods for visualizing them.&lt;br /&gt;&lt;br /&gt;The author makes large use of working example. This is one of the most effective teaching technique, in my opinion, because it encourages readers to apply immediately the knowledge acquired.&lt;br /&gt;&lt;br /&gt;An other nice ingredient of Kabacoff method is to introduce effective high quality packages from the huge R collection to solve a proposed task. For example, in chapter three the author introduces the rename function from the awesome &lt;a href="http://had.co.nz/reshape/"&gt;reshape&lt;/a&gt; package to rename the columns of a data.frame. This is a very trivial task, that can be easily managed by standard R (as the author shows shortly afterward); but the smoothly introduction of this useful package, explained and used more extensively in the forthcoming chapters, represents a nice touch that both means  to manage the task in a more elegant way and introduces the user to a powerful tool.&lt;br /&gt;In this fashion,  the tasks presented in the text are addressed using several different packages in order to depict the various alternative methods available in R.&lt;br /&gt;Furthermore, the numerous notes accompanying the explanations serve both to make easier the understanding of the described concepts and to provide useful insights about R features and idiosyncrasies.&lt;br /&gt;&lt;br /&gt;To sum up, the chapters I had the opportunity to examine are a solid base for people getting started with R. I'm impatient to dig through the forthcoming chapters of the book which deal with advanced statistics and graphics!&lt;br /&gt;&lt;br /&gt;I warmly recommend this book even in this early stage: if you are new to R programming this is a valid approach to start being familiar with the language and make effective use of it in from day one.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/OneRTipADay/~4/k2Tq7dvBrqk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://onertipaday.blogspot.com/feeds/3392176773150086667/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://onertipaday.blogspot.com/2009/11/r-in-action-early-thoughts.html#comment-form" title="2 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/3392176773150086667?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7556813435224291579/posts/default/3392176773150086667?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/OneRTipADay/~3/k2Tq7dvBrqk/r-in-action-early-thoughts.html" title="R in Action - early thoughts" /><author><name>Paolo Sonego</name><uri>https://plus.google.com/113589376600807277593</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-B0-eTB7EGE8/AAAAAAAAAAI/AAAAAAAABLI/E0f3T_aBq8Q/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://onertipaday.blogspot.com/2009/11/r-in-action-early-thoughts.html</feedburner:origLink></entry></feed>
