<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Please Scoop Me!</title>
	<atom:link href="https://pleasescoopme.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://pleasescoopme.com</link>
	<description>Jonathan&#039;s Research Blog</description>
	<lastBuildDate>Sat, 03 Sep 2011 22:16:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<site xmlns="com-wordpress:feed-additions:1">5562246</site><cloud domain='pleasescoopme.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://secure.gravatar.com/blavatar/7b7163cf34d3eea0ce3bdad21a09f5d1708f8f968d21483b975d9634853eb23e?s=96&#038;d=https%3A%2F%2Fs0.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Please Scoop Me!</title>
		<link>https://pleasescoopme.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://pleasescoopme.com/osd.xml" title="Please Scoop Me!" />
	<atom:link rel='hub' href='https://pleasescoopme.com/?pushpress=hub'/>
	<item>
		<title>Yet another R package for learning Ising models</title>
		<link>https://pleasescoopme.com/2011/09/03/yet-another-r-package-for-learning-ising-models/</link>
					<comments>https://pleasescoopme.com/2011/09/03/yet-another-r-package-for-learning-ising-models/#respond</comments>
		
		<dc:creator><![CDATA[slycoder]]></dc:creator>
		<pubDate>Sat, 03 Sep 2011 22:16:20 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://pleasescoopme.com/?p=593</guid>

					<description><![CDATA[You can get it here: https://github.com/slycoder/Rflim Read this for a quick explanation: https://www.facebook.com/note.php?note_id=10150359708746212]]></description>
										<content:encoded><![CDATA[<p>You can get it here: <a href="https://github.com/slycoder/Rflim">https://github.com/slycoder/Rflim</a></p>
<p>Read this for a quick explanation: <a href="https://www.facebook.com/note.php?note_id=10150359708746212">https://www.facebook.com/note.php?note_id=10150359708746212</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://pleasescoopme.com/2011/09/03/yet-another-r-package-for-learning-ising-models/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">593</post-id>
		<media:content url="https://0.gravatar.com/avatar/354c593a840c9aaf81b7e939af4bdd98c655037e783415c44e381fc609f010d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">slycoder</media:title>
		</media:content>
	</item>
		<item>
		<title>Baseball on Facebook</title>
		<link>https://pleasescoopme.com/2011/05/19/baseball-on-facebook/</link>
					<comments>https://pleasescoopme.com/2011/05/19/baseball-on-facebook/#comments</comments>
		
		<dc:creator><![CDATA[slycoder]]></dc:creator>
		<pubDate>Thu, 19 May 2011 21:36:19 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://pleasescoopme.com/?p=590</guid>

					<description><![CDATA[Some of you might be interested in a little analysis we did of baseball fandom on Facebook. Baseball season is in full swing again! March 31st was opening day for Major League Baseball and while we can’t all be swinging &#8230; <a href="https://pleasescoopme.com/2011/05/19/baseball-on-facebook/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Some of you might be interested in <a href="https://www.facebook.com/notes/facebook-data-team/baseball-on-facebook/10150142265858859">a little analysis we did of baseball fandom on Facebook</a>.</p>
<blockquote><p>
Baseball season is in full swing again!  March 31st was opening day for Major League Baseball and while we can’t all be swinging the bat or fielding first base in Giants’ stadium, all of us can cheer on our favorite team.  Many of you support your favorite teams on Facebook; in this post we’ll look at how you and your friends express your fandom and what that says about the team you love.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://pleasescoopme.com/2011/05/19/baseball-on-facebook/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">590</post-id>
		<media:content url="https://0.gravatar.com/avatar/354c593a840c9aaf81b7e939af4bdd98c655037e783415c44e381fc609f010d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">slycoder</media:title>
		</media:content>
	</item>
		<item>
		<title>Pipes in R</title>
		<link>https://pleasescoopme.com/2011/04/03/pipes-in-r/</link>
					<comments>https://pleasescoopme.com/2011/04/03/pipes-in-r/#comments</comments>
		
		<dc:creator><![CDATA[slycoder]]></dc:creator>
		<pubDate>Sun, 03 Apr 2011 03:13:29 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://pleasescoopme.com/?p=586</guid>

					<description><![CDATA[The other day someone posted a link to this python package which provides a bash-style pipe operator to manipulate streams through a series of transformers. It seemed like a cool and powerful way of doing the usual data pre-processing / &#8230; <a href="https://pleasescoopme.com/2011/04/03/pipes-in-r/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<blockquote><p>The other day someone posted a link to <a href="https://www.facebook.com/l.php?u=http%3A%2F%2Fdev-tricks.net%2Fpipe-infix-syntax-for-python&amp;h=d0339">this python package</a> which provides a bash-style pipe operator to manipulate streams through a series of transformers.  It seemed like a cool and powerful way of doing the usual data pre-processing / munging I often do in python.</p>
<p>But what about R?  I also do a lot of processing in R and to me this pipe metaphor also seemed like a natural way of iterating over data frames.   So the other day I set about trying to implement an R-thonic pipe operator and about 50 lines later I succeeded.  It&#8217;s actually more robust and featureful than what I&#8217;ll describe below, but even in these simple use cases I can see it making manipulating data much easier.  </p></blockquote>
<p>Read more here: <a href="http://www.facebook.com/notes/jonathan-chang/pipes-in-r/10150174062816212">http://www.facebook.com/notes/jonathan-chang/pipes-in-r/10150174062816212</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://pleasescoopme.com/2011/04/03/pipes-in-r/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">586</post-id>
		<media:content url="https://0.gravatar.com/avatar/354c593a840c9aaf81b7e939af4bdd98c655037e783415c44e381fc609f010d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">slycoder</media:title>
		</media:content>
	</item>
		<item>
		<title>Some quick updates</title>
		<link>https://pleasescoopme.com/2011/01/04/some-quick-updates/</link>
					<comments>https://pleasescoopme.com/2011/01/04/some-quick-updates/#comments</comments>
		
		<dc:creator><![CDATA[slycoder]]></dc:creator>
		<pubDate>Tue, 04 Jan 2011 15:56:17 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://pleasescoopme.com/?p=574</guid>

					<description><![CDATA[It was mentioned to me at NIPS that not everyone is on Facebook all the time and so it behooves me to post a few links here of some stuff that&#8217;s happened over the past few months. I&#8217;ll be better &#8230; <a href="https://pleasescoopme.com/2011/01/04/some-quick-updates/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>It was mentioned to me at NIPS that not everyone is on <a href="http://www.facebook.com">Facebook</a> all the time and so it behooves me to post a few links here of some stuff that&#8217;s happened over the past few months.  I&#8217;ll be better about cross-posting in the future, I promise!</p>
<ul>
<li> As a result of a lunchtime conversation, I built a site, <a href="http://eqn.me/">http://eqn.me/</a> which quickly turns latex into a linkable image, like this: <img src="http://eqn.me/%20/sum_%7Bn=1%7D%5E/infty%20/frac%7B1%7D%7Bn%7D%20/rightarrow%20/infty" align="middle"></li>
<li>During the US election we put up a little widget that allowed users to express whether or not they voted.  I wrote up a little blog post analyzing the results of those clicks <a href="http://www.facebook.com/note.php?note_id=451788333858&amp;id=8394258414">here.</a>  Here&#8217;s a teaser pic: <img src="https://i0.wp.com/sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs1126.snc4/148812_462596188414_8394258414_5605027_3204319_n.jpg" width="400"></li>
<li>My manager, Cameron Marlow, got <a href="http://www.nytimes.com/interactive/2010/12/19/magazine/ideas2010.html#Social_Media_as_Social_Index">a shout out</a> in the New York Times magazine (albeit with some awkward phrasing =D).</li>
<li><a href="http://anyall.org/">Brendan O&#8217;Connor</a> joined us this past summer and did some awesome work understanding the relationships between concepts as expressed on our page graph.  I always get a kick out of this plot he made: <a href="https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png"><img data-attachment-id="580" data-permalink="https://pleasescoopme.com/2011/01/04/some-quick-updates/capture-d%e2%80%99ecran-2011-01-04-a-07-46-22/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png" data-orig-size="906,680" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Capture d’écran 2011-01-04 à 07.46.22" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png?w=300" data-large-file="https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png?w=500" src="https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png?w=500&#038;h=375" alt="" title="Capture d’écran 2011-01-04 à 07.46.22" width="500" height="375" class="aligncenter size-full wp-image-580" srcset="https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png?w=500&amp;h=375 500w, https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png?w=150&amp;h=113 150w, https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png?w=300&amp;h=225 300w, https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png?w=768&amp;h=576 768w, https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png 906w" sizes="(max-width: 500px) 100vw, 500px" /></a></li>
<li>Sometimes people like to ask what I&#8217;ve been working on.   Among other things, for the past few months I&#8217;ve been helping out on <a href="http://www.youtube.com/watch?v=ZfX_ZQag1BM">Facebook Places</a>, and not just the promo video.</li>
</ul>
<p>I&#8217;m probably forgetting a bunch of other stuff that&#8217;s happened this fall.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://pleasescoopme.com/2011/01/04/some-quick-updates/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">574</post-id>
		<media:content url="https://0.gravatar.com/avatar/354c593a840c9aaf81b7e939af4bdd98c655037e783415c44e381fc609f010d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">slycoder</media:title>
		</media:content>

		<media:content url="http://eqn.me/%20/sum_%7Bn=1%7D%5E/infty%20/frac%7B1%7D%7Bn%7D%20/rightarrow%20/infty" medium="image" />

		<media:content url="http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs1126.snc4/148812_462596188414_8394258414_5605027_3204319_n.jpg" medium="image" />

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2011/01/capture-d_c3a9cran-2011-01-04-c3a0-07-46-22.png" medium="image">
			<media:title type="html">Capture d’écran 2011-01-04 à 07.46.22</media:title>
		</media:content>
	</item>
		<item>
		<title>A new home for Facebook data team publications</title>
		<link>https://pleasescoopme.com/2010/05/08/a-new-home-for-facebook-data-team-publications/</link>
					<comments>https://pleasescoopme.com/2010/05/08/a-new-home-for-facebook-data-team-publications/#respond</comments>
		
		<dc:creator><![CDATA[slycoder]]></dc:creator>
		<pubDate>Sat, 08 May 2010 18:09:48 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://pleasescoopme.com/?p=569</guid>

					<description><![CDATA[Brendan (who will be joining us this summer, natch!) pointed out yesterday that we don&#8217;t have a repository for the papers we&#8217;ve published here at Facebook. We moved fast. Now you can find them by clicking on the &#8220;Papers&#8221; tab &#8230; <a href="https://pleasescoopme.com/2010/05/08/a-new-home-for-facebook-data-team-publications/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Brendan (who will be joining us this summer, natch!) pointed out yesterday that we don&#8217;t have a repository for the papers we&#8217;ve published here at Facebook.   We moved fast.  Now you can find them by clicking on the <a href="http://www.facebook.com/data?v=app_4949752878">&#8220;Papers&#8221; tab of the Facebook Data page</a>.  Happy reading everyone!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://pleasescoopme.com/2010/05/08/a-new-home-for-facebook-data-team-publications/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">569</post-id>
		<media:content url="https://0.gravatar.com/avatar/354c593a840c9aaf81b7e939af4bdd98c655037e783415c44e381fc609f010d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">slycoder</media:title>
		</media:content>
	</item>
		<item>
		<title>Oh god, now there&#8217;s another video of me online</title>
		<link>https://pleasescoopme.com/2010/05/07/oh-god-now-theres-another-video-of-me-online/</link>
					<comments>https://pleasescoopme.com/2010/05/07/oh-god-now-theres-another-video-of-me-online/#comments</comments>
		
		<dc:creator><![CDATA[slycoder]]></dc:creator>
		<pubDate>Fri, 07 May 2010 23:01:06 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://pleasescoopme.com/?p=565</guid>

					<description><![CDATA[Recently I got to participate on a panel / give a talk as a part of the NAE Seattle Grand Challenges Summit. Let me thank Ed Lazowska for putting together such a great panel &#8212; Alon Halevy, Larry Smarr and &#8230; <a href="https://pleasescoopme.com/2010/05/07/oh-god-now-theres-another-video-of-me-online/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Recently I got to participate on a panel / give a talk as a part of the <a href="http://www.engr.washington.edu/news/nae10/index.html">NAE Seattle Grand Challenges Summit</a>.  Let me thank Ed Lazowska for putting together such a great panel &#8212; Alon Halevy, Larry Smarr and Catharine van Ingen.  I think I got a contact high just from being around such awesome researchers.</p>
<p>Anyhow, a video has surfaced of my talk.  I would recommend against watching it, unless you want to see me nebbish my way through a five minute talk.</p>
<iframe class="youtube-player" width="500" height="282" src="https://www.youtube.com/embed/Li8zjTJ0ItY?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
<p>There&#8217;s also some more coverage <a href="http://seattletimes.nwsource.com/html/technologybrierdudleysblog/2011771001_looming_data_tsunami_coming_uw.html">here</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://pleasescoopme.com/2010/05/07/oh-god-now-theres-another-video-of-me-online/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">565</post-id>
		<media:content url="https://0.gravatar.com/avatar/354c593a840c9aaf81b7e939af4bdd98c655037e783415c44e381fc609f010d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">slycoder</media:title>
		</media:content>
	</item>
		<item>
		<title>Slides from some recent talks</title>
		<link>https://pleasescoopme.com/2010/04/28/slides-from-some-recent-talks/</link>
					<comments>https://pleasescoopme.com/2010/04/28/slides-from-some-recent-talks/#comments</comments>
		
		<dc:creator><![CDATA[slycoder]]></dc:creator>
		<pubDate>Wed, 28 Apr 2010 00:19:04 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://pleasescoopme.com/?p=555</guid>

					<description><![CDATA[Recently I had the honor of being invited to give a couple of talks in the Boston area. One at NESCAI and one at NESS. I had a great time and the feedback from the audiences was awesome. A shout &#8230; <a href="https://pleasescoopme.com/2010/04/28/slides-from-some-recent-talks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Recently I had the honor of being invited to give a couple of talks in the Boston area.  One at <a href="http://nescai.cs.umass.edu/index.php">NESCAI</a> and one at <a href="http://www.stat.harvard.edu/NESS10/index.htm">NESS</a>.  I had a great time and the feedback from the audiences was awesome.  A shout out to Jeff of <a href="http://www.searchenginecaffe.com/">search engine cafe</a> is in order.  I also want to especially thank David/Sameer and Edo for inviting me and for putting together such great programs!</p>
<p>I have uploaded the slides for these talks <a href='https://pleasescoopme.com/wp-content/uploads/2010/04/ness-distributed1.pdf'>here</a>.</p>
<p>I&#8217;m also going to be on a panel for <a href="http://www.engr.washington.edu/news/nae10/index.html">NAE&#8217;s Grand Challenges Summit</a> next Monday.  If you&#8217;re going to be in the Seattle area, stop by and say hi!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://pleasescoopme.com/2010/04/28/slides-from-some-recent-talks/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">555</post-id>
		<media:content url="https://0.gravatar.com/avatar/354c593a840c9aaf81b7e939af4bdd98c655037e783415c44e381fc609f010d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">slycoder</media:title>
		</media:content>
	</item>
		<item>
		<title>Using jjplot to explore tipping behavior</title>
		<link>https://pleasescoopme.com/2010/03/31/using-jjplot-to-explore-tipping-behavior/</link>
					<comments>https://pleasescoopme.com/2010/03/31/using-jjplot-to-explore-tipping-behavior/#comments</comments>
		
		<dc:creator><![CDATA[slycoder]]></dc:creator>
		<pubDate>Wed, 31 Mar 2010 20:56:54 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://pleasescoopme.com/?p=544</guid>

					<description><![CDATA[In this post, I&#8217;ll show off some recent changes to jjplot that we think are really cool. To help motivate these changes, I&#8217;ll walk through them using the tips dataset included with the reshape package. Improved faceting along multiple dimensions. &#8230; <a href="https://pleasescoopme.com/2010/03/31/using-jjplot-to-explore-tipping-behavior/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>In this post, I&#8217;ll show off some recent changes to jjplot that we think are really cool.  To help motivate these changes, I&#8217;ll walk through them using the tips dataset included with the reshape package.  </p>
<ul>
<li> Improved faceting along multiple dimensions.  This shows a scatter plot of how much males and females tip on each day of the week, along with a best-fit lines.  The black, dashed line shows the best-fit across all data points.  Points/lines are otherwise colored by day.  I&#8217;ll leave it to you to guess why the slope is higher for men on Saturday, but lower on Sunday.<br />
<code><br />
jjplot(tip ~ (abline() : group(fit(), by = day: sex) +<br />
              point(alpha = 0.5)) : color(day) +<br />
       abline(lty = "dashed") : fit() + total_bill,<br />
       data = tips,<br />
       facet.y = day, facet.x = sex)<br />
</code><br />
<a href="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png"><img data-attachment-id="547" data-permalink="https://pleasescoopme.com/2010/03/31/using-jjplot-to-explore-tipping-behavior/tip_scatter/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png" data-orig-size="905,1122" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="tip_scatter" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png?w=242" data-large-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png?w=500" src="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png?w=500&#038;h=619" alt="" title="tip_scatter" width="500" height="619" class="aligncenter size-full wp-image-547" srcset="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png?w=500&amp;h=620 500w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png?w=121&amp;h=150 121w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png?w=242&amp;h=300 242w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png?w=768&amp;h=952 768w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png 905w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<li> New stats/geoms such as area/density.   Here we&#8217;ll make a density plot of the tip fraction, that is, the tip amount over the total bill.   The black density shows the overall density, while each each overlaid density shows the density just for points in that panel.<br />
<code><br />
jjplot(~ area() : group(density(), by = day:sex) : color(day, alpha = 0.5) +<br />
       area() : group(density(), by = day) +<br />
       I(tip / total_bill),<br />
       data = tips,<br />
       facet.y = day, facet.x = sex,<br />
       xlab = "tip fraction",<br />
       ylab = "")<br />
</code><br />
<a href="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png"><img data-attachment-id="546" data-permalink="https://pleasescoopme.com/2010/03/31/using-jjplot-to-explore-tipping-behavior/tip_density/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png" data-orig-size="905,1122" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="tip_density" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png?w=242" data-large-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png?w=500" src="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png?w=500&#038;h=619" alt="" title="tip_density" width="500" height="619" class="aligncenter size-full wp-image-546" srcset="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png?w=500&amp;h=620 500w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png?w=121&amp;h=150 121w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png?w=242&amp;h=300 242w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png?w=768&amp;h=952 768w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png 905w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<li> Custom geoms/stats.  We want to make it easier for the community to augment the system.  Right now, the syntax is still sort of opaque and we&#8217;re working on it, but you can already get a custom stat just be naming your function jjplot.stat.*.  For example, below we define a new kmeans stat.  We then cluster the points and draw a best-fit line for each cluster.<br />
<code><br />
jjplot.stat.kmeans &lt;- function(state, K, use.y = FALSE) {<br />
  if (use.y) {<br />
    km &lt;- kmeans(cbind(state$data$x, state$data$y), K)<br />
  } else {<br />
    km &lt;- kmeans(state$data$x, K)<br />
  }<br />
  state$data$cluster &lt;- factor(km$cluster)<br />
  state<br />
}<br />
jjplot(tip ~ point() +<br />
       abline() : group(fit(), cluster) : kmeans(3) +<br />
       total_bill,<br />
       data = tips)<br />
</code><br />
<a href="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png"><img loading="lazy" data-attachment-id="551" data-permalink="https://pleasescoopme.com/2010/03/31/using-jjplot-to-explore-tipping-behavior/tip_kmeans/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png" data-orig-size="890,702" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="tip_kmeans" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png?w=300" data-large-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png?w=500" src="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png?w=500&#038;h=394" alt="" title="tip_kmeans" width="500" height="394" class="aligncenter size-full wp-image-551" srcset="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png?w=500&amp;h=394 500w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png?w=150&amp;h=118 150w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png?w=300&amp;h=237 300w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png?w=768&amp;h=606 768w, https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png 890w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<li> Coloring on derived statistics.  You may have noticed in the earlier examples that the color syntax has changed.  We figured color should be kind of like sort &#8212; it&#8217;s a pseudo-statistic which can be inserted anywhere in a statistics stack.  This means that it becomes easy to color based off of derived statistics.  In this example, we make the previous plot much more useful by coloring the fits and points according to the assigned cluster.<br />
<code><br />
jjplot(tip ~ (point() +<br />
       abline() : group(fit(), cluster)) : color(cluster) : kmeans(3) +<br />
       total_bill,<br />
       data = tips)<br />
</code><br />
<a href="https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png"><img loading="lazy" data-attachment-id="552" data-permalink="https://pleasescoopme.com/2010/03/31/using-jjplot-to-explore-tipping-behavior/tips_kmeans_color/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png" data-orig-size="890,702" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="tips_kmeans_color" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png?w=300" data-large-file="https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png?w=500" src="https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png?w=500&#038;h=394" alt="" title="tips_kmeans_color" width="500" height="394" class="aligncenter size-full wp-image-552" srcset="https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png?w=500&amp;h=394 500w, https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png?w=150&amp;h=118 150w, https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png?w=300&amp;h=237 300w, https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png?w=768&amp;h=606 768w, https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png 890w" sizes="(max-width: 500px) 100vw, 500px" /></a>
</ul>
<p>Let us know what you think!  P.S. A release on CRAN is coming very soon&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://pleasescoopme.com/2010/03/31/using-jjplot-to-explore-tipping-behavior/feed/</wfw:commentRss>
			<slash:comments>14</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">544</post-id>
		<media:content url="https://0.gravatar.com/avatar/354c593a840c9aaf81b7e939af4bdd98c655037e783415c44e381fc609f010d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">slycoder</media:title>
		</media:content>

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_scatter.png" medium="image">
			<media:title type="html">tip_scatter</media:title>
		</media:content>

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_density.png" medium="image">
			<media:title type="html">tip_density</media:title>
		</media:content>

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2010/03/tip_kmeans.png" medium="image">
			<media:title type="html">tip_kmeans</media:title>
		</media:content>

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2010/03/tips_kmeans_color.png" medium="image">
			<media:title type="html">tips_kmeans_color</media:title>
		</media:content>
	</item>
		<item>
		<title>ePluribus: Ethnicity on Social Networks</title>
		<link>https://pleasescoopme.com/2010/03/22/epluribus-ethnicity-on-social-networks/</link>
					<comments>https://pleasescoopme.com/2010/03/22/epluribus-ethnicity-on-social-networks/#comments</comments>
		
		<dc:creator><![CDATA[slycoder]]></dc:creator>
		<pubDate>Mon, 22 Mar 2010 02:06:26 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://pleasescoopme.com/?p=542</guid>

					<description><![CDATA[is the name of the paper I wrote with Lars, Itamar, and Cameron. It will appear at this year&#8217;s ICWSM. You may commence bating those breaths.]]></description>
										<content:encoded><![CDATA[<p>is the name of the paper I wrote with Lars, Itamar, and Cameron.   It will appear at this year&#8217;s <a href="http://icwsm.org/2010/papers.shtml">ICWSM</a>.  You may commence bating those breaths.  </p>
]]></content:encoded>
					
					<wfw:commentRss>https://pleasescoopme.com/2010/03/22/epluribus-ethnicity-on-social-networks/feed/</wfw:commentRss>
			<slash:comments>14</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">542</post-id>
		<media:content url="https://0.gravatar.com/avatar/354c593a840c9aaf81b7e939af4bdd98c655037e783415c44e381fc609f010d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">slycoder</media:title>
		</media:content>
	</item>
		<item>
		<title>A few jjplot updates</title>
		<link>https://pleasescoopme.com/2010/03/13/a-few-jjplot-updates/</link>
					<comments>https://pleasescoopme.com/2010/03/13/a-few-jjplot-updates/#comments</comments>
		
		<dc:creator><![CDATA[slycoder]]></dc:creator>
		<pubDate>Sat, 13 Mar 2010 22:02:12 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://pleasescoopme.com/?p=519</guid>

					<description><![CDATA[Eytan and I have been actively exploring lots of crazy new ideas in jjplot, a new plotting library for R. Here&#8217;s a quick rundown of recent changes. We&#8217;d love to hear what you guys think Formulae. The old way of &#8230; <a href="https://pleasescoopme.com/2010/03/13/a-few-jjplot-updates/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Eytan and I have been actively exploring lots of crazy new ideas in <a href="http://code.google.com/p/jjplot/">jjplot</a>, a new plotting library for R.  Here&#8217;s a quick rundown of recent changes.  We&#8217;d love to hear what you guys think</p>
<ol>
<li> <b>Formulae</b>.  The old way of expressing the series of geoms and stats that form the plot was cumbersome.   Putting a series of commands in the &#8230; leads to annoying issues such as poorer error handling.  More importantly, because it can only express a series of statements, it becomes unclear which stats affect which geoms, making it impossible to express more complicated combinations.
<p>We believe that formulae are a good solution to this.  Layers are separated by &#8216;+&#8217; operations.   Interactions between stats and geoms are expressed via the interaction operator &#8216;:&#8217;.  This allows us to gracefully express arbitrary trees of stats and geoms.  An example of a jittered scatter plot:</p>
<p>Old:<br />
<code><br />
jjplot(x = x, y = y, data = data,<br />
         jjplot.jitter(xfactor=1),<br />
         jjplot.point())<br />
</code><br />
New:<br />
<code><br />
jjplot(y ~ point() : jitter(xfactor = 1) + x, data = data)<br />
</code><br />
The leftmost and rightmost terms correspond to the y and x aesthetics.  For a simple case such as this, formulae might not seem like much of an improvement.  But consider a more complex example:<br />
<code><br />
jjplot( ~ line(lty="dashed", col = "red") : hist() +<br />
              bar(width = 0.1) : hist() : jitter(xfactor = 1) +<br />
              Sepal.Length, data = iris)<br />
</code><br />
<a href="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_stats.png"><img loading="lazy" data-attachment-id="522" data-permalink="https://pleasescoopme.com/2010/03/13/a-few-jjplot-updates/stacked_stats/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_stats.png" data-orig-size="640,480" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="stacked_stats" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_stats.png?w=300" data-large-file="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_stats.png?w=500" src="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_stats.png?w=500&#038;h=375" alt="" title="stacked_stats" width="500" height="375" class="aligncenter size-full wp-image-522" srcset="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_stats.png?w=500&amp;h=375 500w, https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_stats.png?w=150&amp;h=113 150w, https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_stats.png?w=300&amp;h=225 300w, https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_stats.png 640w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />
Reading from the right, this says to take iris$Sepal.Length, jitter it, bin the data, and bar plot the result.  This is cool because it&#8217;s immediately clear that you&#8217;re stacking stats, plotting a histogram of the <i>jittered</i> data.  The first term does the same thing, except that it does a hist() statistic <i>without</i> the jitter, and draws this as a red line.   </p>
<p>By using parentheses, you can also apply a stat to multiple stats/geoms.<br />
<code><br />
jjplot( ~ (point(col = "blue", size=3) +<br />
                       line(col = "red", lty="dashed") +<br />
                       bar(width=0.25)) : hist() +<br />
       Petal.Length, data = iris)<br />
</code><br />
Here we&#8217;re just plotting a histogram but with some extra geoms on top for some extra flair.<br />
<a href="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_geoms.png"><img loading="lazy" data-attachment-id="537" data-permalink="https://pleasescoopme.com/2010/03/13/a-few-jjplot-updates/stacked_geoms/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_geoms.png" data-orig-size="640,480" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="stacked_geoms" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_geoms.png?w=300" data-large-file="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_geoms.png?w=500" src="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_geoms.png?w=500&#038;h=375" alt="" title="stacked_geoms" width="500" height="375" class="aligncenter size-full wp-image-537" srcset="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_geoms.png?w=500&amp;h=375 500w, https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_geoms.png?w=150&amp;h=113 150w, https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_geoms.png?w=300&amp;h=225 300w, https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_geoms.png 640w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />
We think this notation is a simple and elegant way of expressing what interacts with what.</p>
<li> <b>Facets</b> This way of thinking about facets is somewhat controversial among us.  Normally, facets conflate two concepts: how you compute statistics and how you plot them.   This means that you compute statistics on facet subsets, then you plot each subset in a separate panel.   Well, currently jjplot takes a different tack, treating facets as merely a command to plot different subsets of the data in different panels.  To see what this implies, consider<br />
<code><br />
df &lt;- data.frame(state = rownames(state.x77),<br />
                 region = state.region,<br />
                 state.x77)<br />
jjplot(Murder ~ abline(lty = &quot;dashed&quot;) : fit() +<br />
       abline() : group(fit(), by = region) +<br />
       point() + Income,<br />
       data = df, color = region, facet = region)<br />
</code><br />
<a href="https://pleasescoopme.com/wp-content/uploads/2010/03/faceted_stats.png"><img loading="lazy" data-attachment-id="527" data-permalink="https://pleasescoopme.com/2010/03/13/a-few-jjplot-updates/faceted_stats/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2010/03/faceted_stats.png" data-orig-size="640,480" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="faceted_stats" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2010/03/faceted_stats.png?w=300" data-large-file="https://pleasescoopme.com/wp-content/uploads/2010/03/faceted_stats.png?w=500" src="https://pleasescoopme.com/wp-content/uploads/2010/03/faceted_stats.png?w=500&#038;h=375" alt="" title="faceted_stats" width="500" height="375" class="aligncenter size-full wp-image-527" srcset="https://pleasescoopme.com/wp-content/uploads/2010/03/faceted_stats.png?w=500&amp;h=375 500w, https://pleasescoopme.com/wp-content/uploads/2010/03/faceted_stats.png?w=150&amp;h=113 150w, https://pleasescoopme.com/wp-content/uploads/2010/03/faceted_stats.png?w=300&amp;h=225 300w, https://pleasescoopme.com/wp-content/uploads/2010/03/faceted_stats.png 640w" sizes="(max-width: 500px) 100vw, 500px" /></a><br />
The first two terms simply do a scatter plot.  The next line does lm fits on each subset.  Note that you have to be explicit with the grouping.  With old semantics, you&#8217;d have an implicit group by on the facet variable, but because we aren&#8217;t combining the grouping and the faceting anymore, you have to spell it out.  The first line shows you the effect of leaving out the grouping operator: you get a fit over all the data that appears on all panels.  This is something I&#8217;ve always wanted to do and it seems to also be persistent question on stack overflow (e.g., &#8220;how do I draw a line at the facet/global mean on each facet panel?&#8221;).  Hopefully this formulation makes it obvious.</p>
<li> <b>Sorting</b> Another persistent question is how to perform sorting on factor scales.  Because of the ease of stacking stats in the formula formulation, we think it makes sense to add a few special stats/geoms.  One of them is the sort stat.  This performs an identity operation on the data frame but also appends some metadata about how to order things which is then intercepted when the scales are created.  Here are some usage examples:<br />
<code><br />
df &lt;- data.frame(name = factor(letters),<br />
                 value = rnorm(26 * 6),<br />
                 type = rep(factor(month.name[1:6]), each = 26))<br />
jjplot(name ~ point() + value,<br />
       data = df, color = type, facet = type)<br />
</code><br />
The first plot is the data unsorted.<br />
<a href="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats001.png"><img loading="lazy" data-attachment-id="532" data-permalink="https://pleasescoopme.com/2010/03/13/a-few-jjplot-updates/sorted_stats001/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats001.png" data-orig-size="480,480" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="sorted_stats001" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats001.png?w=300" data-large-file="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats001.png?w=480" src="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats001.png?w=500" alt="" title="sorted_stats001"   class="aligncenter size-full wp-image-532" srcset="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats001.png 480w, https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats001.png?w=150&amp;h=150 150w, https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats001.png?w=300&amp;h=300 300w" sizes="(max-width: 480px) 100vw, 480px" /></a><br />
<code><br />
jjplot(name ~ point() : sort(y = value) + value,<br />
       data = df, color = type, facet = type)<br />
</code><br />
The second plot sorts according to the mean value associated with each factor across all facets (remember no grouping!).  Like relevel, the sort statistic can take a function argument to specify how multiple points should be sorted.<br />
<a href="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats002.png"><img loading="lazy" data-attachment-id="533" data-permalink="https://pleasescoopme.com/2010/03/13/a-few-jjplot-updates/sorted_stats002/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats002.png" data-orig-size="480,480" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="sorted_stats002" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats002.png?w=300" data-large-file="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats002.png?w=480" src="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats002.png?w=500" alt="" title="sorted_stats002"   class="aligncenter size-full wp-image-533" srcset="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats002.png 480w, https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats002.png?w=150&amp;h=150 150w, https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats002.png?w=300&amp;h=300 300w" sizes="(max-width: 480px) 100vw, 480px" /></a><br />
<code><br />
jjplot(name ~ point() : group(sort(y = value), by=type) + value,<br />
       data = df, color = type, facet = type)<br />
</code><br />
The last plot wraps the sort in a group by, meaning that each facet panel has its own sorting order.<br />
<a href="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats003.png"><img loading="lazy" data-attachment-id="534" data-permalink="https://pleasescoopme.com/2010/03/13/a-few-jjplot-updates/sorted_stats003/" data-orig-file="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats003.png" data-orig-size="480,480" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="sorted_stats003" data-image-description="" data-image-caption="" data-medium-file="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats003.png?w=300" data-large-file="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats003.png?w=480" src="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats003.png?w=500" alt="" title="sorted_stats003"   class="aligncenter size-full wp-image-534" srcset="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats003.png 480w, https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats003.png?w=150&amp;h=150 150w, https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats003.png?w=300&amp;h=300 300w" sizes="(max-width: 480px) 100vw, 480px" /></a>
</ol>
<p>All of this awesomeness is available in the current svn repo.  Check it out!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://pleasescoopme.com/2010/03/13/a-few-jjplot-updates/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">519</post-id>
		<media:content url="https://0.gravatar.com/avatar/354c593a840c9aaf81b7e939af4bdd98c655037e783415c44e381fc609f010d9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">slycoder</media:title>
		</media:content>

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_stats.png" medium="image">
			<media:title type="html">stacked_stats</media:title>
		</media:content>

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2010/03/stacked_geoms.png" medium="image">
			<media:title type="html">stacked_geoms</media:title>
		</media:content>

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2010/03/faceted_stats.png" medium="image">
			<media:title type="html">faceted_stats</media:title>
		</media:content>

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats001.png" medium="image">
			<media:title type="html">sorted_stats001</media:title>
		</media:content>

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats002.png" medium="image">
			<media:title type="html">sorted_stats002</media:title>
		</media:content>

		<media:content url="https://pleasescoopme.com/wp-content/uploads/2010/03/sorted_stats003.png" medium="image">
			<media:title type="html">sorted_stats003</media:title>
		</media:content>
	</item>
	</channel>
</rss>
