<?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/"
	>

<channel>
	<title>From a Logical Point of View &#187; misc</title>
	<atom:link href="http://www.jiangtanghu.com/blog/category/misc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jiangtanghu.com/blog</link>
	<description>Hello World by A SAS programmer</description>
	<lastBuildDate>Wed, 25 Jan 2012 21:55:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Happy New Year (Yes Again)</title>
		<link>http://www.jiangtanghu.com/blog/2012/01/24/happy-new-year-yes-again/</link>
		<comments>http://www.jiangtanghu.com/blog/2012/01/24/happy-new-year-yes-again/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 04:06:11 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/?p=443</guid>
		<description><![CDATA[Then I feel great to reset my year of 2012 as brand new one. Today, Jan 23, is the first day of Chinese New Year, and it is Monday, the first day of work week—it is always joyful to have such coincidenceJ. HAPPY NEW YEAR! I had a big move this year. Actually I passed [...]]]></description>
			<content:encoded><![CDATA[<p>Then I feel great to reset my year of 2012 as brand new one.</p>
<p>Today, Jan 23, is the first day of <a href="http://en.wikipedia.org/wiki/Chinese_New_Year">Chinese New Year</a>, and it is Monday, the first day of work week<span style="color: black; font-family: Arial; font-size: 10pt; background-color: white;">—</span>it is always joyful to have such coincidence<span style="font-family: Wingdings;">J</span>. HAPPY NEW YEAR!</p>
<p>I had a big move this year. Actually I passed through multiply new years of 2012: I took my flight from Beijing in Jan 1 (<span style="font-size: 7pt;"><em>happy new year!</em></span>) and landed in Raleigh, North Carolina also in the same day due to the time difference among China and US where I take a new job as a Life Sciences Consultant at <a href="http://www.d-wise.com/">d-Wise Technologies</a>. I&#8217;m not supposed to be a pure SAS programmer any more, but I don&#8217;t want to change the theme of my blog (&#8220;<a href="http://www.jiangtanghu.com/blog/"><em>Hello World by A SAS Programmer</em></a>&#8220;) since my most handy language is still SAS while my role will expose me more SAS products and solutions.</p>
<p>Chinese New Year is also called &#8220;Spring Festival&#8221; and &#8220;spring&#8221; is always the key word for the holiday:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2012/01/012412_0406_HappyNewYea11.png" alt="" width="404" height="262" /></p>
<p style="text-align: center;"><span style="font-size: 8pt;">(Chinese Characters for &#8220;the Beauty of Spring&#8221;. I wrote these years before in Beijing)<br />
</span></p>
<p>And I also want to spread my spring greetings with few sentences from Walt Whitman, <em>These I Singing in Spring</em>:</p>
<p style="margin-left: 36pt;">THESE, I, singing in spring, collect for lovers,</p>
<p style="margin-left: 36pt;">. . .</p>
<p style="margin-left: 36pt;">Collecting, I traverse the garden, the world—but soon</p>
<p style="margin-left: 36pt;">I pass the gates,</p>
<p style="margin-left: 36pt;">Now along the pond-side—now wading in a little, fearing not the wet,</p>
<p style="margin-left: 36pt;">Now by the post-and-rail fences, where the old stones</p>
<p style="margin-left: 36pt;">thrown there, pick&#8217;d from the fields, have accumulated,</p>
<p style="margin-left: 36pt;">(Wild-flowers and vines and weeds come up through</p>
<p style="margin-left: 36pt;">the stones, and partly cover them—Beyond these I pass,)</p>
<p style="margin-left: 36pt;">Far, far in the forest, before I think where I go,</p>
<p style="margin-left: 36pt;">Solitary, smelling the earthy smell, stopping now and then in the silence,</p>
<p style="margin-left: 36pt;">Alone I had thought—yet soon a troop gathers around me,</p>
<p style="margin-left: 36pt;">Some walk by my side, and some behind, and some embrace my arms or neck,</p>
<p style="margin-left: 36pt;">They, the spirits of dear friends, dead or alive—thicker</p>
<p style="margin-left: 36pt;">they come, a great crowd, and I in the middle,</p>
<p style="margin-left: 36pt;">Collecting, dispensing, singing in spring, there I wander with them,</p>
<p style="margin-left: 36pt;">Plucking something for tokens—tossing toward whoever is near me;</p>
<p style="margin-left: 36pt;">. . .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2012/01/24/happy-new-year-yes-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello Python</title>
		<link>http://www.jiangtanghu.com/blog/2011/10/31/hello-python/</link>
		<comments>http://www.jiangtanghu.com/blog/2011/10/31/hello-python/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 12:29:43 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2011/10/31/hello-python/</guid>
		<description><![CDATA[Inspired by Jian’s polyglot programming practice, I also begin to brush up Python and C++ which I learned during graduate school. Following is a Python response to one of Jian Dai’s former programming challenges for lines count of source codes: 12345678910111213141516171819202122232425import os #count number of lines of #single file def lineCount&#40;fileName&#41;: &#160; &#160; countSingle=0 &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Inspired by <a href="http://www.jiangtanghu.com/blog/2011/08/15/sas-bloggers-in-action-2-jian-dai-and-his-sas-academy/" target="_blank">Jian’s polyglot programming practice</a>, I also begin to brush up Python and C++ which I learned during graduate school. Following is a Python response to one of <a href="http://tech.groups.yahoo.com/group/sas_academy/" target="_blank">Jian Dai</a>’s former programming challenges for <a href="http://blog.clinovo.com/megha-becomes-the-third-time-winner-june-programming-challenge-now-is-finished/" target="_blank">lines count of source codes</a>:</p>
<div class="codecolorer-container python blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span><br />
<br />
<span style="color: #808080; font-style: italic;">#count number of lines of</span><br />
<span style="color: #808080; font-style: italic;">#single file</span><br />
<span style="color: #ff7700;font-weight:bold;">def</span> lineCount<span style="color: black;">&#40;</span>fileName<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; countSingle<span style="color: #66cc66;">=</span><span style="color: #ff4500;">0</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> line <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>fileName<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; countSingle +<span style="color: #66cc66;">=</span> <span style="color: #ff4500;">1</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> countSingle<br />
<br />
<span style="color: #808080; font-style: italic;">#count number of lines of</span><br />
<span style="color: #808080; font-style: italic;">#directory and subdirectories</span><br />
<span style="color: #ff7700;font-weight:bold;">def</span> dirCount<span style="color: black;">&#40;</span><span style="color: #008000;">dir</span><span style="color: #66cc66;">,</span>extension<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; countTotal<span style="color: #66cc66;">=</span><span style="color: #ff4500;">0</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> r<span style="color: #66cc66;">,</span>d<span style="color: #66cc66;">,</span>f <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">walk</span><span style="color: black;">&#40;</span><span style="color: #008000;">dir</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> files <span style="color: #ff7700;font-weight:bold;">in</span> f:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> files.<span style="color: black;">endswith</span><span style="color: black;">&#40;</span>extension<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fileName<span style="color: #66cc66;">=</span><span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>r<span style="color: #66cc66;">,</span>files<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; countSingle<span style="color: #66cc66;">=</span>lineCount<span style="color: black;">&#40;</span>fileName<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; countTotal +<span style="color: #66cc66;">=</span> countSingle<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> countTotal<br />
<br />
a<span style="color: #66cc66;">=</span>dirCount<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;C:/Program Files/CDISC Express/&quot;</span><span style="color: #66cc66;">,</span><span style="color: #483d8b;">&quot;.sas&quot;</span><span style="color: black;">&#41;</span><br />
<br />
<span style="color: #ff7700;font-weight:bold;">print</span> &nbsp;a</div></td></tr></tbody></table></div>
<p>I use <a href="http://www.jiangtanghu.com/docs/en/readME_IDE.txt" target="_blank">python-2.7.2</a>, the final Python 2.x release most because of the various modules support for learning purpose. The book helps me to get the quick review of Python is <em><a href="http://greenteapress.com/thinkpython/thinkpython.html" target="_blank">Think Python: How to Think Like a Computer Scientist</a></em> by Allen Downey.</p>
<p>Also, I begin to use <a href="http://kpumuk.info/projects/wordpress-plugins/codecolorer/" target="_blank">CodeColorer</a> for this blog to insert codes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2011/10/31/hello-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fours Errors in SAS 9.2 Fisher&#8217;s Iris Data in SASHELP Library</title>
		<link>http://www.jiangtanghu.com/blog/2011/09/03/fours-errors-in-sas-9-2-fishers-iris-data-in-sashelp-library/</link>
		<comments>http://www.jiangtanghu.com/blog/2011/09/03/fours-errors-in-sas-9-2-fishers-iris-data-in-sashelp-library/#comments</comments>
		<pubDate>Sat, 03 Sep 2011 13:13:42 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[Fisher]]></category>
		<category><![CDATA[Iris]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2011/09/03/fours-errors-in-sas-9-2-fishers-iris-data-in-sashelp-library/</guid>
		<description><![CDATA[In the previous post, I just mentioned that Fisher&#8217;s Iris Data is embedded officially in SASHELP library in SAS 9.2. Note that even in SAS 9.1.3, you can also find this data with several instances from some demos in user guide (just search &#34;Iris&#34; in &#34;SAS Help and Documentation&#34; accompany with you SAS product), for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/09/iris.gif"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="iris" border="0" alt="iris" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/09/iris_thumb.gif" width="240" height="237" /></a></p>
<p>In the <a href="http://www.jiangtanghu.com/blog/2011/08/31/who-is-alfred/" target="_blank">previous post</a>, I just mentioned that <a href="http://en.wikipedia.org/wiki/Iris_flower_data_set" target="_blank">Fisher&#8217;s Iris Data</a> is embedded officially in SASHELP library in SAS 9.2. Note that even in SAS 9.1.3, you can also find this data with several instances from some demos in user guide (just search &quot;Iris&quot; in &quot;SAS Help and Documentation&quot; accompany with you SAS product), for example, in <a href="http://support.sas.com/onlinedoc/913/getDoc/en/imlug.hlp/graphstart_sect13.htm\" target="_blank">SAS 9.1.3 IML</a>.</p>
<p>Iris dataset is so important and popular that researchers round the world use it as benchmark to test and compare their algorithms and also as pedagogical purpose. It is also the overwhelming No. 1 dataset considering popularity in <a href="http://archive.ics.uci.edu/ml/" target="_blank">UCI Machine Learning Repository</a>. Here 4 errors in SASHELP.iris listed for your consideration if interested and if you find some slightly differences in outputs following some demos out of SAS using this data:</p>
<blockquote><p>Error 1: Line 35, the PetalWidth of Setosa should be 2 mm, not 1 mm;</p>
<p>Error 2: Line 38, the SepalWidth of Setosa should be 36 mm, not 31 mm;</p>
<p>Error 3: Line 38, the PetalLength of Setosa should be 14 mm, not 15 mm;</p>
<p>Error 4: Line 119, the PetalLength of Virginica should be 69 mm, not 70 mm.</p>
</blockquote>
<p>For errors 1-3, there is also an interesting story in statistical literature. In 1936, Fisher the Great published his famous paper, <em><a href="http://rcs.chph.ras.ru/Tutorials/classification/Fisher.pdf" target="_blank">The use of multiple measurements in taxonomic problems</a></em> and the Iris data also attached (called <font color="#ff0000">Fisher Version</font> in this post). In the following years (until today), people <a href="http://archive.ics.uci.edu/ml/datasets/Iris" target="_blank">cited</a> this paper and the Iris data Fisher Version is also replicated and distributed worldwide and then a version with above errors 1-3 might gain a very dominant popularity (I don’t know the source of there errors). In UCI Machine Learning Repository, the dataset <a href="http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data" target="_blank">iris.data</a> is the one with such 3 errors (called <font color="#ff0000">UCI Version</font> as well).</p>
<p>We could see that the duplicated UCI Version is even more popular in some extension than its original Fisher Version (SASHELP.iris also seems to be copied from UCI Version). Story goes on. In 1998, James Bezdek and other scholars just found the three discrepancies between Iris Fisher Version and UCI Version (and in some published papers using the same version of data). You can read it in <em><a href="http://pages.bangor.ac.uk/~mas00a/papers/jbjkrklknptfs99.pdf" target="_blank">Will the Real Iris Data Please Stand Up?</a></em> </p>
<p>Bezdek then proposed to use the original Fisher Version of Iris, and UCI Machine Learning Repository also <a href="http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.names" target="_blank">documented these three errors</a> and added new dataset called <a href="http://archive.ics.uci.edu/ml/machine-learning-databases/iris/bezdekIris.data" target="_blank">bezdekIris.data</a> (<font color="#ff0000">Bezdek Version</font>) which is exactly Fisher Version (iris.data kept and I think it is because now the so called error version is also valuable).</p>
<p>Return to error 4 and I can’t figure out why and I might as well call it Iris <font color="#ff0000">SAS Version</font>. Note that the unit in SAS Version is millimeter (mm), while others version all use centimeter (cm). </p>
<p>The interesting part is that I also check the <a href="http://support.sas.com/onlinedoc/913/getDoc/en/imlug.hlp/graphstart_sect13.htm\" target="_blank">Iris data in SAS 9.1.3 IML</a> mentioned before and not surprising, it is exactly the Fisher Version (you can also find a right one in a demo from <a href="http://support.sas.com/documentation/cdl/en/imlsug/62558/HTML/default/viewer.htm#ugappdatasets_sect11.htm" target="_blank">SAS 9.2 IML Studio 3.2</a>).</p>
<p>The following codes generate several Iris versions:</p>
<blockquote><p>iris_uci: <font color="#ff0000">UCI Version</font> with both CM and MM as unit</p>
<p>bezdekiris_uci: <font color="#ff0000">Bezdek Version</font> or <font color="#ff0000">Fisher Version</font> with both CM and MM as unit</p>
<p>iris_mm: <font color="#ff0000">UCI Version</font> with MM as unit and attributes alike SASHELP.iris, <font color="#ff0000">SAS Version</font></p>
<p>bezdekiris_mm: <font color="#ff0000">Bezdek Version</font> or <font color="#ff0000">Fisher Version</font> with MM as unit and attributes alike SASHELP.iris, <font color="#ff0000">SAS Version</font></p>
</blockquote>
<p> <span id="more-375"></span><br />
<blockquote>
<p><font face="Courier New">filename iris URL &quot;</font><a href="http://archive.ics.uci.edu/ml/machine-learning-databases/iris/&quot;;"><font face="Courier New">http://archive.ics.uci.edu/ml/machine-learning-databases/iris/&quot;;</font></a></p>
<p><font face="Courier New">%macro getIris(input);       <br />data &amp;input._uci;        <br />&#160;&#160;&#160; length _Species $15.;        <br />&#160;&#160;&#160; length&#160; Species $10.;        <br />&#160;&#160;&#160; infile iris(&amp;input..data) dlm=&#8217;,';        <br />&#160;&#160;&#160; input _SepalLength _SepalWidth _PetalLength _PetalWidth _Species $; </font></p>
<p><font face="Courier New">&#160;&#160;&#160; Species=propcase(scan(_Species,2)); </font></p>
<p><font face="Courier New">&#160;&#160;&#160; array iris {*}&#160; _SepalLength _SepalWidth _PetalLength _PetalWidth;       <br />&#160;&#160;&#160; array iris_mm{4} SepalLength&#160; SepalWidth&#160; PetalLength&#160; PetalWidth; </font></p>
<p><font face="Courier New">&#160;&#160;&#160; do i=1 to dim(iris);       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; iris_mm{i}=iris{i}*10;        <br />&#160;&#160;&#160; end; </font></p>
<p><font face="Courier New">&#160;&#160;&#160; drop i; </font></p>
<p><font face="Courier New">&#160;&#160;&#160; label&#160;&#160; _sepallength=&#8217;Sepal Length (cm)&#8217;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; _sepalwidth =&#8217;Sepal Width (cm)&#8217;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; _petallength=&#8217;Petal Length (cm)&#8217;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; _petalwidth =&#8217;Petal Width (cm)&#8217;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; _Species =&#8217;Iris Species&#8217;; </font></p>
<p><font face="Courier New">&#160;&#160;&#160; label&#160;&#160; sepallength=&#8217;Sepal Length (mm)&#8217;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; sepalwidth =&#8217;Sepal Width (mm)&#8217;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; petallength=&#8217;Petal Length (mm)&#8217;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; petalwidth =&#8217;Petal Width (mm)&#8217;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Species =&#8217;Iris Species&#8217;;        <br />run; </font></p>
<p><font face="Courier New">data &amp;input._mm (label=&quot;Fisher&#8217;s Iris Data (1936)&quot;);       <br />&#160;&#160;&#160; set &amp;input._uci;        <br />&#160;&#160;&#160; drop _:;        <br />run; </font></p>
<p><font face="Courier New">%mend getIris; </font></p>
<p><font face="Courier New">%getIris(iris)       <br />%getIris(bezdekIris)</font></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2011/09/03/fours-errors-in-sas-9-2-fishers-iris-data-in-sashelp-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who is Alfred?</title>
		<link>http://www.jiangtanghu.com/blog/2011/08/31/who-is-alfred/</link>
		<comments>http://www.jiangtanghu.com/blog/2011/08/31/who-is-alfred/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 14:18:09 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[misc]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[Iris]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2011/08/31/who-is-alfred/</guid>
		<description><![CDATA[Tell me something about Alfred, male or female? age? height and weight? Oracle database (version 9 and below) had a well known default demo account SCOTT with a password, TIGER (and TIGER was the name of the real person Bruce Scott ’s cat, see) and in this account, there are some tables named DEPT, EMP, [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Tell me something about Alfred, male or female? age? height and weight? </p>
</blockquote>
<p>Oracle database (version 9 and below) had a well known default demo account SCOTT with a password, TIGER (and TIGER was the name of the real person Bruce Scott ’s cat, <a href="http://www.dba-oracle.com/t_scott_tiger.htm" target="_blank">see</a>) and in this account, there are some tables named DEPT, EMP, BONUS and SALGRADE (you can read their meaning). Almost every Oracle DBA learn SQL using these database and an joke just says that in DBA’s meetings, people just&#160; warm up saying “how about Smith?” And you should know that in the database, Smith is a clerk and his boss is Ford (whose boss is Jones)!</p>
<p>In the beginning I also raise a question for SAS programmers: who is Alfred? Don’t give quick answer such that “Alfred who”. Actually, you should already go through with Alfred very well as a SAS programmer:</p>
<blockquote><p><font face="Courier New">proc print data=sashelp.class;       <br />&#160;&#160;&#160; where name=&quot;Alfred&quot;;        <br />run;</font></p>
</blockquote>
<p>As a clinical SAS programmer, I play with data, get acquaintance with the data and subjects and then subjects are no longer “subject”. They have identities and&#160; Alfred is a 14 years old boy. I have such habit mostly because in clinical world, data are very expensive (not like the massive transaction data in financial industry) and should be took more care. </p>
<p>I dare say that “class” is the most famous SAS dataset in sashelp library and then in the SAS world. The first dataset used for demo is almost this “class”. I just did a quick Google search, “<a href="http://www.google.com/search?hl=en&amp;source=hp&amp;biw=1111&amp;bih=561&amp;q=sas+sashelp.class&amp;btnG=Google+Search&amp;aq=f&amp;aqi=g10&amp;aql=&amp;oq=&amp;gs_rfai=#pq=+sas+sashelp.class&amp;hl=en&amp;cp=0&amp;gs_id=t&amp;xhr=t&amp;q=sas+sashelp.class&amp;qe=c2FzIHNhc2hlbHAuY2xhc3M&amp;qesig=-1hRQj8XDofruHqJt-7o1Q&amp;pkc=AFgZ2tkn99yjg_kNxO238PUOVve2MCFJUcgPCK-pXmvfyldpJvG0DchYcRuz_Azx9jhciBgWit8jDgrY6zs4T42InGlJtSBhGQ&amp;pf=p&amp;sclient=psy&amp;source=hp&amp;pbx=1&amp;oq=sas+sashelp.class&amp;aq=f&amp;aqi=&amp;aql=&amp;gs_sm=&amp;gs_upl=&amp;bav=on.2,or.r_gc.r_pw.r_cp.&amp;fp=265f5e3edf2ec82b&amp;biw=1166&amp;bih=665&amp;bs=1" target="_blank">sas sashelp.class</a>” returns about 44,400 results. Hope you can find any other SAS datasets to beat it.</p>
<p>Alfred in “class” pops into my mind because today, I do find a strong candidate. In SAS 9.2 (and 9.3), the sashelp library has a new member, Iris. YES, it is the “<a href="http://en.wikipedia.org/wiki/Iris_flower_data_set" target="_blank">Fisher Iris Flower Data</a>”, which can be safely considered the most famous and most&#160; used dataset in machine learning and data mining papers and statistical applications. Currently it has <a href="http://www.google.com/search?hl=en&amp;source=hp&amp;biw=1111&amp;bih=561&amp;q=sas+sashelp.class&amp;btnG=Google+Search&amp;aq=f&amp;aqi=g10&amp;aql=&amp;oq=&amp;gs_rfai=#sclient=psy&amp;hl=en&amp;source=hp&amp;q=sas+sashelp.iris+&amp;pbx=1&amp;oq=sas+sashelp.iris+&amp;aq=f&amp;aqi=&amp;aql=&amp;gs_sm=e&amp;gs_upl=277383l277383l5l277945l1l1l0l0l0l0l0l0ll0l0&amp;bav=on.2,or.r_gc.r_pw.r_cp.&amp;fp=265f5e3edf2ec82b&amp;biw=1166&amp;bih=665" target="_blank">only 859 hits in Google</a>, I think the number will reach high accompany with the wide use of SAS 9.2 and above, and to enforce my prediction, I will definitely play with the Iris data in the following future!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2011/08/31/who-is-alfred/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I am a 20% SAS Nerd!</title>
		<link>http://www.jiangtanghu.com/blog/2011/08/23/i-am-a-20-sas-nerd/</link>
		<comments>http://www.jiangtanghu.com/blog/2011/08/23/i-am-a-20-sas-nerd/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 13:57:14 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2011/08/23/i-am-a-20-sas-nerd/</guid>
		<description><![CDATA[Kirk Paul Lafler drafted a checking list for identifying a SAS nerd (or geek, in its positive ways) in one of his intriguing papers: You Could be a SAS® Nerd If . . . Here I’m glad to find that I am roughly a 20% SAS nerd (12 matched in all 57 lists): 8. You [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Kirk_Paul_Lafler" target="_blank">Kirk Paul Lafler</a> drafted a checking list for identifying a SAS nerd (or geek, in its positive ways) in one of his intriguing papers:</p>
<blockquote><p><em><a href="http://www.wuss.org/proceedings10/coders/2910_3_COD-Lafler2.pdf" target="_blank">You Could be a SAS® Nerd If . . .</a></em> </p>
</blockquote>
<p>Here I’m glad to find that I am roughly a 20% SAS nerd (12 matched in all 57 lists):</p>
<blockquote><p>8. You blog SAS-related comments and technical solutions frequently. </p>
<p>9. You have more than five SAS blogs in your RSS feed. </p>
<p>10. Your home page is support.sas.com, sasCommunity.org, SAS-L, or LexJansen.com. </p>
<p>11. You know more than ten SAS keyboard shortcuts. </p>
<p>12. You get excited when you find a new match-merge technique that performs better than the one you developed the week before.</p>
<p>21. You have more than one version of SAS on your machine or network so you can compare and contrast program, processing and output differences.</p>
<p>28. You spend your Friday evenings and weekends responding to SAS-L posts, entering sasCommunity blog entries, and reading the latest “hot” SAS topic on LexJansen.com.</p>
<p>38. The first thing you read in the morning is the “Tip of the Day”.</p>
<p>45. You subscribe to five or more SAS groups on LinkedIn, sasCommunity, and Facebook and you use a tabbed browser so you can be online with all of them at the same time.</p>
<p>47. You spend your evenings and weekends SAS-L’ing, Googling and Binging looking for elegant SAS technical solutions.</p>
<p>50. You proudly proclaim that you’re a SAS programmer when asked by a fellow passenger, “What do you do for a living?”</p>
<p>51. You’re amazed when your fellow airline passenger replies, “What is a “SAS programmer?”.</p>
</blockquote>
<p>I also asked Kirk if he is a 100% SAS nerd and Kirk replied, NO. He said he is a 99% SAS nerd:)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2011/08/23/i-am-a-20-sas-nerd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAS Bloggers In Action(1): Rick Wicklin, SAS/IML and &#8220;Color Revolution&#8221;</title>
		<link>http://www.jiangtanghu.com/blog/2011/07/17/sas-bloggers-in-action1-rick-wicklin-sasiml-and-color-revolution/</link>
		<comments>http://www.jiangtanghu.com/blog/2011/07/17/sas-bloggers-in-action1-rick-wicklin-sasiml-and-color-revolution/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 08:16:49 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[IML]]></category>
		<category><![CDATA[Rick Wicklin]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2011/07/17/sas-bloggers-in-action1-rick-wicklin-sasiml-and-color-revolution/</guid>
		<description><![CDATA[It is well known that the French writer, author of The Three Musketeer, Alexandre Dumas, wrote his master piece of work in different colored papers according to literary genre: non-fiction on&#160; rose, fiction on blue, poetry on yellow The SAS blog writer, author of Statistical Programming with SAS/IML Software, Rick Wicklin of SAS Institute,&#160; also [...]]]></description>
			<content:encoded><![CDATA[<p>It is well known that the French writer, author of <em>The Three Musketeer</em>, Alexandre Dumas, wrote his master piece of work in different colored papers according to literary genre:</p>
<blockquote><p><font color="#ff0000"><strong>non-fiction on&#160; rose,</strong></font></p>
<p><font color="#0000ff"><strong>fiction on blue,</strong></font></p>
<p><font color="#ffff80"><strong>poetry on yellow</strong></font></p>
</blockquote>
<p>The SAS blog writer, author of <em><a href="http://support.sas.com/publishing/authors/wicklin.html">Statistical Programming with SAS/IML Software</a></em>, <a href="http://blogs.sas.com/iml/" target="_blank">Rick Wicklin</a> of SAS Institute,&#160; also leads a strong “color revolution” in SAS blog community:</p>
<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/07/JohariWindow1.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="JohariWindow" border="0" alt="JohariWindow" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/07/JohariWindow_thumb.jpg" width="333" height="330" /></a>In an interesting personal statement, <a href="http://blogs.sas.com/iml/index.php?/archives/124-Blogging,-Programming,-and-Johari-Windows.html"><em>Blogging, Programming, and Johari Windows</em></a>, Rick summarizes his rich and colorful blogging rhythms according to the above <a href="http://en.wikipedia.org/wiki/Johari_window"><em>Johari window</em></a>:&#160;&#160; </p>
<ul>
<li><font color="#ffff80">Mondays</font>, writes introductory notes (corresponding to the upper right quadrant of Johari window).&#160; </li>
<li><font color="#bcdee2">Wednesdays</font>, experimental articles on sampling, simulation and other statistical programming topics(lower left quadrant). </li>
<li><font color="#008000">Fridays</font>, on explorative analysis of data (upper left quadrant). </li>
</ul>
<p>So what about the <font color="#ff8080">lower right quadrant</font>? Rick rediscovers and exposes what he once knew. Just suppose that, Rick picks up some codes he wrote before (ten years ago maybe) with big surprise: oh, who on earth wrote such damned clever beautiful codes? He or she must be in his/her aggressive youth. –then Rick wrote them all in blog.</p>
<p>Here I produced a summary table for Rick’s blogging activities (numbers per month per weekday; before July 16, 2011 Beijing time; <em>next following post would introduce how to use SAS to analyze data from website such as Rick’s blog</em>):</p>
<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/07/Rick.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Rick" border="0" alt="Rick" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/07/Rick_thumb.png" width="485" height="433" /></a>&#160;</p>
<p>Key findings:</p>
<ul>
<li>Rick is really a frequent and productive blogger with averagely 0.5 posts per day! </li>
<li>Rick DOES keep his words. Most of the posts are published in <font color="#008000">Friday</font>, <font color="#bcdee2">Wednesday </font>and <font color="#ffff80">Monday</font>(44, 44, 42 posts respectively). </li>
<li>None posted in Saturdays and Sunday. </li>
</ul>
<p>Rick began his writing since September&#160; 3. 2010, <font color="#008000">Friday</font>.&#160; Up to July 15. 2011, <font color="#008000">Friday</font>, there are 48 <font color="#008000">Fridays</font>, 46 <font color="#bcdee2">Wednesdays </font>and 46 <font color="#ffff80">Mondays</font>.&#160; Only 10 colored weekdays (4 <font color="#008000">Fridays</font>, 2 <font color="#bcdee2">Wednesdays </font>and 4 <font color="#ffff80">Mondays</font>) passed with no posts and most all them are due to national holidays: </p>
<blockquote><p>06/09/2010 , <font color="#ffff80">Monday</font>&#160;&#160;&#160;&#160;&#160;&#160; : Labor Day       <br />24/11/2010 , <font color="#bcdee2">Wednesday</font>: round Thanksgiving Day       <br />26/11/2010 , <font color="#008000">Friday</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : round Thanksgiving Day       <br />22/12/2010 , <font color="#bcdee2">Wednesday</font>       <br />24/12/2010 , <font color="#008000">Friday</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : Christmas Day       <br />27/12/2010 , <font color="#ffff80">Monday</font>       <br />31/12/2010 , <font color="#008000">Friday</font>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : New Year’s Day       <br />30/05/2011 , <font color="#ffff80">Monday</font>&#160;&#160;&#160;&#160;&#160; : Memorial Day       <br />10/06/2011 , <font color="#008000">Friday</font>       <br />04/07/2011 , <font color="#ffff80">Monday</font>&#160;&#160;&#160;&#160;&#160; : Independence Day</p>
</blockquote>
<p>At least in 4 holidays (most in <font color="#ffff80">Monday</font>), Rick was also active in writing:</p>
<blockquote><p>11/10/2011, <font color="#ffff80">Monday</font>, Columbus Day: <em>How Do You Reshape a Matrix?</em>       <br />11/11/2010, Thursday, Veterans Day: <em>It&#8217;s Here!</em>       <br />17/01/2011, <font color="#ffff80">Monday</font>, Birthday of Martin Luther King, Jr.: <em>On the Flip Side: Exchanging Rows and Columns</em>       <br />21/02/2011, <font color="#ffff80">Monday</font>, Washington’s Birthday: <em>How to Build a Vector from Expressions</em></p>
</blockquote>
<p>Amazing Rick keeps a fixed writing pattern and in next following post, detailed analysis and SAS codes will be presented so you can also keep eyes on the metadata of your favorite bloggers’ writing and may rise a question like:</p>
<p>Hey Rick, what’s up in Jun 10, 2011, Friday?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2011/07/17/sas-bloggers-in-action1-rick-wicklin-sasiml-and-color-revolution/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Tango Haiku</title>
		<link>http://www.jiangtanghu.com/blog/2011/07/15/tango-haiku/</link>
		<comments>http://www.jiangtanghu.com/blog/2011/07/15/tango-haiku/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 14:50:18 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[haiku]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2011/07/15/tango-haiku/</guid>
		<description><![CDATA[Happy weekend and Haiku again! My finger hurts, I can not dance Tango in Bastille. So… any ideas? … … … … … … OK. I am a terrible Haiku writer. The sentences are not self explained without&#160; /*commentaries*/ . So the story behind the scene… One day my remote workstation was very very slow [...]]]></description>
			<content:encoded><![CDATA[<p>Happy weekend and <a href="http://www.jiangtanghu.com/blog/2010/12/30/a-sas-programmers-end-year-haiku/" target="_blank">Haiku again</a>!</p>
<blockquote><p>My finger hurts,</p>
<p>I can not dance</p>
<p>Tango in Bastille.</p>
</blockquote>
<p>So… any ideas?</p>
<p>…</p>
<p>… …</p>
<p>… … …</p>
<p>OK. I am a terrible Haiku writer. The sentences are not self explained without&#160; /*commentaries*/ . So the story behind the scene…</p>
<p>One day my remote workstation was very very slow due to some network issues. But I still needed to write and run SAS codes in the server which is located in France. It really hurt my fingers from the ergonomic point of view.</p>
<p>“Tango” was my project code. But why Bastille? oh, that day happened to be round the Bastille Day in France. The performance of the remote server that time was just as terrible as the Bastille I want to break so I could do my project work more smoothly!</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Note that after my completing this Tango Haiku, I did a Google search and found that there is really a French book called <em><a href="http://www.amazon.com/Bastille-tango-Jean-Fran%C3%A7ois-Vilar/dp/2742716785" target="_blank">Bastille tango</a></em>!</p>
<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/07/Tango.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Tango" border="0" alt="Tango" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/07/Tango_thumb.jpg" width="152" height="240" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2011/07/15/tango-haiku/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ADJECTIVE Encounters</title>
		<link>http://www.jiangtanghu.com/blog/2011/07/02/adjective-encounters/</link>
		<comments>http://www.jiangtanghu.com/blog/2011/07/02/adjective-encounters/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 02:51:57 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[adjective]]></category>
		<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2011/07/02/adjective-encounters/</guid>
		<description><![CDATA[Really she is the strangest creature in the world, far from heroic, variable as a weathercock, “bashful, insolent; chaste, lustful; prating, silent; laborious, delicate; ingenious, heavy; melancholic, pleasant; lying, true; knowing, ignorant; liberal, covetous, and prodigal”— in short, so complex, so indefinite, … &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#8211;Virginia Woolf, The Common Reader, First Series (1925) I don’t know [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Really she is the strangest creature in the world, far from heroic, variable as a weathercock, “<strong>bashful, insolent; chaste, lustful; prating, silent; laborious, delicate; ingenious, heavy; melancholic, pleasant; lying, true; knowing, ignorant; liberal, covetous, and prodigal</strong>”— in short, so complex, so indefinite, …</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#8211;Virginia Woolf, <em>The Common Reader</em>, First Series (1925)</p>
</blockquote>
<p>I don’t know if Ernest Hemingway is still one of the recognized dominant writers in colleges English education. At least once&#160; a time he WAS. In an extreme form, he used only nouns and verbs to construct sentences.</p>
<p>In my personal English education(as Second Language), admittedly that there is also an absence of adjectives. It is just wonderful, nice, great, cool, weird, awesome,&#160; and all in all, everything is OK or not OK, good or not good. In writing, my sentences lack of tone and shades. I write only technical articles in English and people can often well manage the so-called technical borings when acquiring information, knowledge, and opinions. </p>
<p>In reading when I try to just read for the sake of reading itself, I also find it is difficult to dig into pure literature pages where rich adjectives assembled heavily. I only read smoothly technical papers. So when I happened to have a paper book of Woolf and also loaded a corresponding public domain e-book in Kindle, I read the most intensive instances of adjectives ever. It is really totally different experiences. </p>
<p>There would be three types in any languages. For English: </p>
<blockquote><p>in the top, pure literature, Shakespeare-like; </p>
<p>middle, which could be called the universal or international English; it is be the dominate English among nations in business, technology and even academia; most of the popular writers also utilize such sort of English to extent their global reputation;</p>
<p>bottom, the street language, slangs, talk-show. </p>
</blockquote>
<p>I penetrate the English through the middle like almost all of the ESL learners. It is the most convenient and effective way in a very short run. But for a leap in long run, some friends just suggest that I should go down the street or climb up to the top. Ok I am on the way. Virginia Woolf is the first stop and I keep the first notes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2011/07/02/adjective-encounters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Too Big to Be Accurate(1): Which is the Most Powerful Calculator in the World?</title>
		<link>http://www.jiangtanghu.com/blog/2011/01/22/big-numbers/</link>
		<comments>http://www.jiangtanghu.com/blog/2011/01/22/big-numbers/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 09:05:17 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[Approximation]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[factorial]]></category>
		<category><![CDATA[Google Calculator]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[Windows Calculator]]></category>
		<category><![CDATA[WolframAlpha]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2011/01/22/big-numbers/</guid>
		<description><![CDATA[Calculate the factorial of 171 (171!)? Just TRY! It is equal to 171*170*169*….2*1. 1. Google calculator As Google fanatics, I first try to search the answer via Google: Whoops, nothing interested returned! Type “170!” and get the output: Why kinda things happened in this calculator? 171! is just equal to 171*170!. 2. Excel Switch to [...]]]></description>
			<content:encoded><![CDATA[<p>Calculate the factorial of 171 (171!)? Just TRY! It is equal to 171*170*169*….2*1.</p>
<h3>1. Google calculator</h3>
<p>As Google fanatics, I first try to search the answer via Google:</p>
<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/Google171.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Google171" border="0" alt="Google171" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/Google171_thumb.png" width="336" height="116" /></a> </p>
<p>Whoops, nothing interested returned! Type “170!” and get the output:</p>
<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/Google170.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Google170" border="0" alt="Google170" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/Google170_thumb.png" width="244" height="110" /></a> Why kinda things happened in this calculator? 171! is just equal to 171*170!.</p>
<h3>2. Excel</h3>
<p>Switch to Excel spreadsheet. Function fact(*) used:</p>
<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/Excel170.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Excel170" border="0" alt="Excel170" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/Excel170_thumb.png" width="228" height="66" /></a> <a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/Excel171.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Excel171" border="0" alt="Excel171" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/Excel171_thumb.png" width="244" height="64" /></a> Oo, interesting. The same. </p>
<h3>3. SAS</h3>
<p>Google and Excel may be the niche players in calculators’ family. Why not try to use some programming languages?</p>
<p> <span id="more-216"></span>
<p>As a SAS programmer, my handy tool is SAS of course.</p>
<p>First, I use <strong>SAS data step</strong> with its build-in function fact(*):</p>
<blockquote><p><font face="Courier New">data _null_;        <br />&#160;&#160;&#160; x=fact(170);         <br />&#160;&#160;&#160; y=fact(171);         <br />&#160;&#160;&#160; put x= y=;         <br />run;</font></p>
</blockquote>
<p>and I get</p>
<blockquote><p>NOTE: Invalid argument to function FACT at line 49 column 7.      <br /><font color="#ff0000">x=7.257416E306 y=.</font>       <br /><font color="#ff0000">x=7.257416E306 y=. _ERROR_=1 _N_=1</font>       <br />NOTE: Mathematical operations could not be performed at the following places. The results of the operations have been set to missing values.</p>
</blockquote>
<p>Expected or unexpected? I don’t know how this fact(*) function is defined, and&#160; try to define a function to calculate the factorials by myself. In SAS 9.2, you can use <strong>PROC FCMP</strong>(also available at 9.1.3 as a experimental procedure):</p>
<blockquote><p><font face="Courier New">proc fcmp outlib = work.funcs.math ;        <br />&#160;&#160;&#160; function factorial(k) ;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; if k = 0 then return(1) ;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; z = k ; *preserve k ;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; x = factorial(k-1) ;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; k = z ; *recover k ;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; k = k * x ;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return(k) ;         <br />&#160;&#160;&#160; endsub ;         <br />quit ; </font></p>
<p><font face="Courier New">options cmplib=work.funcs ; </font></p>
</blockquote>
<p>Use this self-defined function to get 170!</p>
<blockquote><p><font face="Courier New">proc fcmp ;        <br />&#160;&#160;&#160; x = factorial (170) ;         <br />&#160;&#160;&#160; put x = ;         <br />run ; </font></p>
</blockquote>
<p>The FCMP procedure returns</p>
<blockquote><p>x=7.257416E306</p>
</blockquote>
<p>Try to calculate 171! ?</p>
<blockquote><p><font face="Courier New">proc fcmp ;        <br />&#160;&#160;&#160; y = factorial (171) ;         <br />&#160;&#160;&#160; put y = ;         <br />run ;</font></p>
</blockquote>
<p>Just get the overflow error. The interaction stops at 170!:</p>
<blockquote><p>ERROR: An overflow occurred during execution in function &#8216;factorial&#8217; in statement number 7 at&#160;&#160; line 10 column 1.      <br />&#160;&#160;&#160;&#160;&#160;&#160; The statement was:       <br />&#160;&#160;&#160; 1&#160;&#160;&#160;&#160;&#160; (10:1)&#160;&#160;&#160; k = (k=171) * (<font color="#ff0000">x=7.257416E306</font>)</p>
</blockquote>
<p>The above function definitions use recursion. Recursion may have some limitation on efficiency. We could try the loop without recursion. <strong>SAS/IML</strong> doesn’t support recursion. Let SAS/IML to the court:</p>
<blockquote><p><font face="Courier New">proc iml;        <br />&#160;&#160;&#160; start factorial (n);         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; fact=1;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; do i=1 to n;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; fact=fact*i;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; end;         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return (fact);         <br />&#160;&#160;&#160; finish factorial;</font></p>
<p><font face="Courier New">&#160;&#160;&#160; x= factorial (170);        <br />&#160;&#160;&#160; print x;</font></p>
<p><font face="Courier New">&#160;&#160;&#160; y= factorial (171);        <br />&#160;&#160;&#160; print y;         <br />quit;</font></p>
</blockquote>
<p>Again, I get 170!</p>
<blockquote><p>&#160;&#160;&#160; x      <br />7.257E306</p>
</blockquote>
<p>and a overflow error for 171!</p>
<blockquote><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; y= factorial (171);      <br />ERROR: Overflow error in *.</p>
</blockquote>
<p>Turing, Von Neumann and Tony, what happened?</p>
<h3>4. R</h3>
<p>When SAS failed, lots of voices pop up: use R! OK, Rction!</p>
<blockquote><p><font color="#ff0000">&gt; x=factorial(170);x</font>       <br />[1] 7.257416e+306       <br /><font color="#ff0000">&gt; y=factorial(171);y</font>       <br />Warning message:       <br />In factorial(171) : value out of range in &#8216;gammafn&#8217;       <br />[1] Inf</p>
</blockquote>
<h3>5. C++</h3>
<p>I don’t want to lose my patience. Think C++(use both recursive and non-recursive methods):</p>
<blockquote><p><font face="Courier New">#include &lt;iostream&gt;        <br />using namespace std; </font></p>
<p><font face="Courier New">double factRecursive(double num);        <br />double factNonRecursive(double num); </font></p>
<p><font face="Courier New">int main()        <br />{         <br />&#160;&#160;&#160; cout&lt;&lt;endl;&#160;&#160;&#160; <br />&#160;&#160;&#160; cout&lt;&lt;&quot;Recursive: the factorial of 170 is &quot;&lt;&lt;factRecursive(170)&lt;&lt;endl;         <br />&#160;&#160;&#160; cout&lt;&lt;&quot;Recursive: the factorial of 171 is &quot;&lt;&lt;factRecursive(171)&lt;&lt;endl;         <br />&#160;&#160;&#160; cout&lt;&lt;endl;&#160;&#160; </font></p>
<p><font face="Courier New">&#160;&#160;&#160; cout&lt;&lt;&quot;NonRecursive: the factorial of 170 is &quot;&lt;&lt;factNonRecursive(170)&lt;&lt;endl;        <br />&#160;&#160;&#160; cout&lt;&lt;&quot;NonRecursive: the factorial of 171 is &quot;&lt;&lt;factNonRecursive(171)&lt;&lt;endl;         <br />&#160;&#160;&#160; cout&lt;&lt;endl;&#160;&#160;&#160; </font></p>
<p><font face="Courier New">return 0;        <br />} </font></p>
<p><font face="Courier New">double factRecursive (double num)        <br />{         <br />&#160;&#160;&#160; if (num==0)         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return 1;         <br />&#160;&#160;&#160; else         <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return num*factRecursive(num-1);         <br />} </font></p>
<p><font face="Courier New">double factNonRecursive (double num)        <br />{         <br />&#160;&#160;&#160; double fact=1;         <br />&#160;&#160;&#160; for (double i=2;i&lt;=num;i++) fact *=i;         <br />&#160;&#160;&#160; return fact;         <br />}</font></p>
</blockquote>
<p>Unfortunately, same story once more:</p>
<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/Cpp.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Cpp" border="0" alt="Cpp" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/Cpp_thumb.png" width="449" height="121" /></a></p>
<p>Well. The story&#8217;s played out like this. It may be not the limitable of the language but the machine. I check which is the largest numbers my computer supports:</p>
<blockquote><p><font face="Courier New">#include &lt;iostream&gt;        <br />#include &lt;cfloat&gt; </font></p>
<p><font face="Courier New">using namespace std; </font></p>
<p><font face="Courier New">int main()        <br />{         <br />&#160; cout&lt;&lt;&quot;maxinum double value of machine: &quot;&lt;&lt;DBL_MAX&lt;&lt;endl;         <br />&#160; return 0; </font><font face="Courier New">}</font></p>
</blockquote>
<blockquote><pre>maxinum double value of machine: <font color="#ff0000">1.79769e+308</font></pre>
</blockquote>
<p>Now everything’s in the open. The factorial of 170 is about 7.257416e+306. 171! is too big to be supported by my PC. </p>
<p>(Note: I put these codes in <a href="http://codepad.org">http://codepad.org</a>, a online complier. if you don’t have any C++ complier in your machine, you can see the codes and outputs in:<a href="http://codepad.org/xnneavsw">http://codepad.org/xnneavsw</a>&#160; and <a href="http://codepad.org/3FeEC9t2">http://codepad.org/3FeEC9t2</a>)</p>
<h3>6. <a href="http://www.wolframalpha.com/" target="_blank">WolframAlpha</a></h3>
<p>Struggled for hours, I turn to <a href="http://www.wolframalpha.com" target="_blank">WolframAlpha</a> computing platform. It returns <a href="http://www.wolframalpha.com/input/?i=171!" target="_blank">the factorial of 171</a> AT LAST:</p>
<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/WA171.gif"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="WA171" border="0" alt="WA171" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/WA171_thumb.gif" width="454" height="128" /></a>&#160;<a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/WA171_s.gif"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="WA171_s" border="0" alt="WA171_s" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/WA171_s_thumb.gif" width="477" height="52" /></a>&#160; AT LAST we know the factorial of 171 has 310 digits. </p>
</p>
<h3>7. Windows Calculator</h3>
<p>I try to use Windows build-in calculator. Amazing, it is powerful:</p>
<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/winCalc.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="winCalc" border="0" alt="winCalc" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2011/01/winCalc_thumb.png" width="323" height="250" /></a></p>
<h3>8. Python</h3>
<p>Return to programming language.&#160; First, I defined a function(recursive version) in Python and then use its MATH library:</p>
<blockquote>
<p><font face="Courier New">&gt;&gt;&gt; def factorial(n):<br />
      <br />&#160;&#160;&#160; if n==0: </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; return 1 </p>
<p>&#160;&#160;&#160; else: </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; return n*factorial(n-1) </font></p>
<p><font face="Courier New"><font color="#ff0000">&gt;&gt;&gt; factorial(170)</font> </p>
<p>7257415615307998967396728211129263114716991681296451376 </p>
<p>5435777989005618434017061578523507492426174595114909912 </p>
<p>3783852077666602256544275302532890077320751090240043028 </p>
<p>0058295603966612599658257104398558294257568966313439612 </p>
<p>2625710949468067112055688804571933402126614528000000000 </p>
<p>00000000000000000000000000000000L </p>
<p><font color="#ff0000">&gt;&gt;&gt; factorial(171)</font> </p>
<p>1241018070217667823424840524103103992616605577501693185 </p>
<p>3889518036119960752216917529927519781204875855764649595 </p>
<p>0167038705280988985869071076733124203221848436431047357 </p>
<p>7889968548278290754541561964852153468318044293239598173 </p>
<p>6968996572359039476161522785581800611763651084288000000 </p>
<p>00000000000000000000000000000000000L</font></p>
</blockquote>
<blockquote>
<p>&gt;&gt;&gt; import math<br />
    <br /><font color="#ff0000">&gt;&gt;&gt; math.factorial(171)</font> </p>
<p>1241018070217667823424840524103103992616605577501693185 </p>
<p>3889518036119960752216917529927519781204875855764649595 </p>
<p>0167038705280988985869071076733124203221848436431047357 </p>
<p>7889968548278290754541561964852153468318044293239598173 </p>
<p>6968996572359039476161522785581800611763651084288000000 </p>
<p>00000000000000000000000000000000000L</p>
</blockquote>
<p>Amazing, Python beats up C++! </p>
<p><em>(to be continued :</em></p>
<p><em>Too Big to Be Accurate(2): <font color="#ff0000">Approximation</font> </em></p>
<p><em>)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2011/01/22/big-numbers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SGF: Caesars Palace in Las Vegas again</title>
		<link>http://www.jiangtanghu.com/blog/2010/12/30/sgf-caesars-palace-in-las-vegas-again/</link>
		<comments>http://www.jiangtanghu.com/blog/2010/12/30/sgf-caesars-palace-in-las-vegas-again/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 10:13:08 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[SAS]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2010/12/30/sgf-caesars-palace-in-las-vegas-again/</guid>
		<description><![CDATA[The mechanic, who wishes to do his work well, must first sharpen his tools. --Confucian Analects. BOOK XV.WEI LING KUNG.CHAP.IX. My paper Work Smarter than Harder-tools for growing up a SAS programmer was accepted by SAS Global Forum 2011. It would be my first time to attend SAS user group conference worldwide. The draft version [...]]]></description>
			<content:encoded><![CDATA[<blockquote><pre>The mechanic, who wishes to do his work well, must first </pre>
<pre>sharpen his tools.</pre>
<pre> --<i>Confucian Analects</i>. BOOK XV.WEI LING KUNG.CHAP.IX.</pre>
</blockquote>
<p>My paper <em><a href="http://sgf2011.confnav.com/sgf2011/web/sessions/detail.html?id=20101023091009653775000000" target="_blank">Work Smarter than Harder-tools for growing up a SAS programmer</a></em> was accepted by <a href="http://support.sas.com/events/sasglobalforum/2011/" target="_blank">SAS Global Forum 2011.</a> It would be my first time to attend SAS user group conference worldwide. The draft version is available at</p>
<p><a title="http://jiangtanghu.com/docs/en/SGF2011_JiangtangHU(draft).pdf" href="http://jiangtanghu.com/docs/en/SGF2011_JiangtangHU(draft).pdf">http://jiangtanghu.com/docs/en/SGF2011_JiangtangHU(draft).pdf</a></p>
<p>Welcome for any comments.</p>
<p>The SGF2011 will be held at Caesars Palace in Las Vegas, Nevada. The interesting thing is that, as far as I know, Caesars Palace in Las Vegas was also the host for SUGI 1978(Jan 30-Feb 1, 1978). looking forward to seeing my SAS gurus in Caesars Palace next year, a place of history.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2010/12/30/sgf-caesars-palace-in-las-vegas-again/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A SAS Programmer&#8217;s End Year Haiku</title>
		<link>http://www.jiangtanghu.com/blog/2010/12/30/a-sas-programmers-end-year-haiku/</link>
		<comments>http://www.jiangtanghu.com/blog/2010/12/30/a-sas-programmers-end-year-haiku/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 08:18:20 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[haiku]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2010/12/30/a-sas-programmers-end-year-haiku/</guid>
		<description><![CDATA[End year Haiku again! Yesterday I finished my project, wrote a Haiku to colleagues worldwide to say happy new year, then closed my desktop, said goodbye to colleagues still in office: In December my baby born my project deliveries followed on Now my computers shutdown do until(6 Jan 2011) I will be OOO Please take [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jiangtanghu.com/blog/2008/12/10/haiku-from-sas-rd-staff-2/" target="_blank">End year Haiku</a> again!</p>
<p>Yesterday I finished my project, wrote a Haiku to colleagues worldwide to say happy new year, then closed my desktop, said goodbye to colleagues still in office:</p>
<blockquote><p>In December my baby born</p>
<p>my project deliveries followed on</p>
<p>Now my computers shutdown</p>
<p>do until(6 Jan 2011) I will be OOO</p>
<p>Please take blessings from John</p>
</blockquote>
<p>Happy New Year!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2010/12/30/a-sas-programmers-end-year-haiku/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blogging SAS</title>
		<link>http://www.jiangtanghu.com/blog/2010/11/30/sas-blog/</link>
		<comments>http://www.jiangtanghu.com/blog/2010/11/30/sas-blog/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 13:16:52 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2010/11/30/sas-blog/</guid>
		<description><![CDATA[Almost at the same time, there are two SAS blogs aggregators popping up to the web for SAS programmers worldwide, one in Chinese, the other, English: http://saslist.com/&#160; in Chinese, maintained by sxlion, also the owner of a SAS information site,&#160; http://saslist.net/ http://sas-x.com/&#160;&#160; in English, maintained by Tal Galili, also the owner of R blogs aggregator, [...]]]></description>
			<content:encoded><![CDATA[<p>Almost at the same time, there are two SAS blogs aggregators popping up to the web for SAS programmers worldwide, one in Chinese, the other, English:</p>
<blockquote><p><a href="http://saslist.com/">http://saslist.com/</a>&#160; in Chinese, maintained by <a href="http://saslist.com/sxlion/">sxlion</a>, also the owner of a SAS information site,&#160; <a href="http://saslist.net/">http://saslist.net/</a></p>
<p><a href="http://sas-x.com/">http://sas-x.com/</a>&#160;&#160; in English, maintained by <a href="http://www.r-statistics.com/">Tal Galili</a>, also the owner of R blogs aggregator, <a href="http://r-bloggers.com/">http://r-bloggers.com/</a></p>
</blockquote>
<p>I try to express in a very symmetrical way. What’s more (and interesting), these two aggregators share a same WordPress template. My blogs, <a href="http://jiangtanghu.com/cn">in Chinese</a> and <a href="http://www.jiangtanghu.com/blog">in English</a>, are also the members of these aggregators respectively. </p>
<p>I view this is the first wave for SAS programmers to embrace the Web2.0 world. If interested, you could also add your SAS blogs in </p>
<blockquote><p><a href="http://sas-x.com/add-your-blog/">http://sas-x.com/add-your-blog/</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2010/11/30/sas-blog/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Recursive Referencing and Binomial Proportion Interval</title>
		<link>http://www.jiangtanghu.com/blog/2010/11/03/recursive-referencing/</link>
		<comments>http://www.jiangtanghu.com/blog/2010/11/03/recursive-referencing/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 12:47:44 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[Logic]]></category>
		<category><![CDATA[misc]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[Binomial proportion inverval]]></category>
		<category><![CDATA[Inception]]></category>
		<category><![CDATA[Newcombe]]></category>
		<category><![CDATA[recursion]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2010/11/03/recursive-referencing/</guid>
		<description><![CDATA[To understand recursion, one of the most important concepts in programming languages, you could watch the movie, Chris Nolan’s Inception: it is about a dream within a dream within a dream, …and, read two statistical papers by Professor Robert Newcombe, one of the most prolific statisticians: Two-sided confidence intervals for the single proportion: comparison of [...]]]></description>
			<content:encoded><![CDATA[<p>To understand <a href="http://en.wikipedia.org/wiki/Recursion">recursion</a>, one of the most important concepts in programming languages, you could watch the movie, Chris Nolan’s <em><a href="www.inceptionmovie.com">Inception</a></em>: it is about a dream within a dream within a dream, …and, read two statistical papers by Professor <a href="http://medicine.cf.ac.uk/en/person/prof-robert-gordon-newcombe/">Robert Newcombe</a>, one of the most <a href="http://medicine.cf.ac.uk/en/person/prof-robert-gordon-newcombe/publications/">prolific statisticians</a>:</p>
<ul>
<li><cite><a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&amp;db=pubmed&amp;dopt=Abstract&amp;list_uids=9595616&amp;query_hl=1"><strong>Two-sided confidence intervals for the single proportion: comparison of seven methods.</strong></a> </cite>      <br />Newcombe RG, <font color="#ff0000"><cite>Stat Med</cite> , Volume 17 , 8 (April 1998) pp.857-<strong>872</strong></font><strong> </strong></li>
<li><cite><a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&amp;db=pubmed&amp;dopt=Abstract&amp;list_uids=9595617&amp;query_hl=1"><strong>Interval estimation for the difference between independent proportions: comparison of eleven methods.</strong></a> </cite>      <br />Newcombe RG, <font color="#ff0000"><cite>Stat Med</cite> , Volume 17 , 8 (April 1998) pp.<strong>873</strong>-890</font> </li>
</ul>
<p>These two widely cited papers evaluate 7 and 11 methods to calculate single proportion (paper <font color="#ff0000">A</font>) and the difference between proportions (paper <font color="#ff0000">B</font>), respectively. Further more, they were in the same issue of <a href="http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-0258"><em>Statistics in Medicine</em></a>(Volume 17, 1998), and, they were also cross referenced! So here is a live story about recursive referencing(thanks to Prof. Newcombe):</p>
<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2010/11/megamonalisa_recursion.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="megamonalisa_recursion" border="0" alt="megamonalisa_recursion" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2010/11/megamonalisa_recursion_thumb.jpg" width="245" height="371" /></a></p>
<ul>
<ul>
<li>An author writes two papers, A and B;</li>
<li>Paper B is in the&#160; bibliographic reference session of paper A;</li>
<li>Paper A is also in the&#160; bibliographic reference session of paper B;</li>
<li>Paper A and paper B are in the same issue of a journal.</li>
</ul>
</ul>
<p><font color="#ff0000">Note</font> that for Prof. Newcombe’s two linked papers, it is common and acceptable in publication practices. Recently I used these two wonderful papers to learn CI calculation and this post just want to lead to the concept of “recursion”&#160; (reference in reference in reference).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2010/11/03/recursive-referencing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>On three statistical realms</title>
		<link>http://www.jiangtanghu.com/blog/2010/10/06/on-three-statistical-realms/</link>
		<comments>http://www.jiangtanghu.com/blog/2010/10/06/on-three-statistical-realms/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 03:37:51 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2010/10/06/on-three-statistical-realms/</guid>
		<description><![CDATA[Peter Petocz and Anna Reid(2010) grouped three levels of students’ conceptions of statistics: Level I:&#160;&#160; focus on techniques Level II:&#160; focus on using data Level III: focus on meaning I found the three conceptions could be easily interpreted as the three kinds of state of learning and using statistics based on my personal experience: State [...]]]></description>
			<content:encoded><![CDATA[<p>Peter Petocz and Anna Reid(2010) grouped three levels of students’ conceptions of statistics:</p>
<ul>
<li>Level I:&#160;&#160; focus on <strong>techniques</strong> </li>
<li>Level II:&#160; focus on <strong>using data</strong> </li>
<li>Level III: focus on <strong>meaning</strong> </li>
</ul>
<p>I found the three conceptions could be easily interpreted as the three kinds of state of learning and using statistics based on my personal experience:</p>
<ul>
<li>State I: focus on <strong>techniques</strong>—As a student of Economics and (then) Software Engineering, I needed some statistics techniques to support my study on data mining and machine learning. So I invested a lot on some fancy skills such as logistic regression, decision tree,&#160; neural network and even support vector machine in graduate school and SAS R&amp;D(as an intern). In most time, I just thrown data to the models and checked their functionality and feasibility(<em>Wula-IT-WORKS! </em>or <em>Oops-crash-again</em>). When looking back, I’d just have to say these techniques were toys played in labs. </li>
<li>State II:&#160; focus on <strong>using data—</strong>Now I worked as a SAS programmer(also titled as statistical analyst) in pharma. All data are not just the rows and columns in the tables. They are SUBJECTS! Statistical techniques are used carefully to display and interpret the story of real world. Why the denominator is 999 while 1000 subjects were recruited in this trial? Because subject 001-127, male, 23 months of age,&#160; discontinued due to his father’s wish and opinion! </li>
<li>State III: focus on <strong>meaning</strong>—Peter Petocz and Anna Reid concluded that, regarding the MEANING conception of statistics, “statistics is an inclusive tool used to make sense of the world and develop personal meanings.” The last state of any realms ideal, is always sounded like philosophy or religion. That may be a life in a statistical way or style(If got it, I would change my blog’s title as <em>From a Statistical Point of View^</em>). </li>
</ul>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;-some notes on non-statistics&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>1. three kinds of state of Chan</p>
<ul>
<li>just mountain</li>
<li>isn’t mountain</li>
<li>still mountain</li>
</ul>
<p>2. three realm ideal of Wang Guowei</p>
<ul>
<li>heaven is integrated with man:</li>
</ul>
<blockquote><p>Last night the west wind shriveled the green-clad trees,</p>
<p>Alone I climb the high tower</p>
<p>To gaze my fill along the road to the horizon.</p>
</blockquote>
<ul>
<li>knowledge is integrated with practice</li>
</ul>
<blockquote><p>My clothes grow daily more loose, yet care I not.</p>
<p>For you am I thus wasting away in sorrow and pain.</p>
</blockquote>
<ul>
<li>feeling is integrated with scenery</li>
</ul>
<blockquote><p>I sought her in the crowd a hundred, a thousand times.</p>
<p>Suddenly with a turn of the head [I saw her],</p>
<p>That one there where the lamplight was fading.</p>
</blockquote>
<p><strong>Reference:</strong></p>
<p>Peter Petocz and Anna Reid. <em>On Becoming a Statistician—A Qualitative View</em>. International Statistical Review(2010), 78,2,271</p>
<p>WANG Guowei. <a href="http://www.en84.com/article-3828-1.html">Ren jian ci hua</a><i>. translated by </i>Adele Austin Rickett.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2010/10/06/on-three-statistical-realms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>From A Logical Point of View</title>
		<link>http://www.jiangtanghu.com/blog/2009/12/21/from-a-logical-point-of-view/</link>
		<comments>http://www.jiangtanghu.com/blog/2009/12/21/from-a-logical-point-of-view/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 15:53:47 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[from a logical point of view]]></category>
		<category><![CDATA[quine]]></category>
		<category><![CDATA[robert mitchum]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2009/12/21/from-a-logical-point-of-view/</guid>
		<description><![CDATA[This blog, “From A Logical Point of View”, is not supposed to be owned by a logician. Actually, the book, From A Logical Point of View, is a collection of logical and philosophical essays by W.V.Quine(1908-2000), an American philosopher and mathematician. A story about this book. From A Logical Point of View, was a calypso [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jiangtanghu.com/blog/wp-content/uploads/2009/12/QUIFRO.jpg"><img style="display: inline; border-width: 0px;" title="QUIFRO" src="http://www.jiangtanghu.com/blog/wp-content/uploads/2009/12/QUIFRO_thumb.jpg" border="0" alt="QUIFRO" width="158" height="244" /></a></p>
<p><span style="font-size: small;">This blog, “<a href="http://www.jiangtanghu.com/blog/">From A Logical Point of View</a>”, is not supposed to be owned by a logician. Actually, the book, <em><a href="http://www.amazon.com/Logical-Point-View-Logico-Philosophical-Revised/dp/0674323513">From A Logical Point of View</a></em>, is a collection of logical and philosophical essays by <a href="http://www.wvquine.org/">W.V.Quine</a>(1908-2000), an American philosopher and mathematician. </span></p>
<p><span style="font-size: small;">A story about this book. <em><a href="http://www.gugalyrics.com/ROBERT-MITCHUM-FROM-A-LOGICAL-POINT-OF-VIEW-LYRICS/411924/">From A Logical Point of View</a></em>, was a calypso song by <a href="http://en.wikipedia.org/wiki/Robert_Mitchum">Robert Mitchum</a>, an US actor, composer and singer. Quine enjoyed this music and used it as his new book, which is Quine’s best seller. Now I love this book and give the name to my blog from a logical point of view^.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2009/12/21/from-a-logical-point-of-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy New Year</title>
		<link>http://www.jiangtanghu.com/blog/2009/01/01/happy-new-year-2/</link>
		<comments>http://www.jiangtanghu.com/blog/2009/01/01/happy-new-year-2/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 15:45:00 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[Happy New Year]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2009/01/01/happy-new-year-2/</guid>
		<description><![CDATA[新年快乐 ( Xin Nian Kuai Le), Guten Rutsch ins neue Jahr, Bonne Année, Nav varsh ki shubh kamnayey, Felice Anno Nuovo, Feliz Año Nuevo, Feliz Ano Novo, 明けましておめでとうございます (Akemashite Omedetô), Gelukkig Nieuwjaar, Szczęśliwego Nowego Roku, Καλή Χρονιά (Kalí Chroniá), Seh Heh Bok Mani Bat Uh Seyo, חג חנוכה שמח (Hag Hanukkah Sameah), Cчастливого Нового Года, [...]]]></description>
			<content:encoded><![CDATA[<div class="gmail_quote">新年快乐 ( Xin Nian Kuai Le),</p>
<div class="gmail_quote">
<div>Guten  Rutsch ins neue Jahr,<br />
Bonne Année,<br />
Nav varsh ki shubh kamnayey,<br />
Felice Anno Nuovo,<br />
Feliz Año Nuevo,<br />
Feliz Ano Novo,<br />
明けましておめでとうございます (Akemashite Omedetô),<br />
Gelukkig Nieuwjaar,<br />
Szczęśliwego Nowego Roku,<br />
Καλή Χρονιά (Kalí Chroniá),<br />
Seh Heh Bok  Mani Bat Uh Seyo,<br />
חג חנוכה שמח (Hag Hanukkah Sameah),<br />
Cчастливого Нового  Года,</div>
<p>Happy New Year,</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2009/01/01/happy-new-year-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Haiku from SAS R&amp;D staff</title>
		<link>http://www.jiangtanghu.com/blog/2008/12/10/haiku-from-sas-rd-staff-2/</link>
		<comments>http://www.jiangtanghu.com/blog/2008/12/10/haiku-from-sas-rd-staff-2/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 03:37:00 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[haiku]]></category>
		<category><![CDATA[Matsuo Basho]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2008/12/10/haiku-from-sas-rd-staff-2/</guid>
		<description><![CDATA[First prompts are silent. Subsequent prompts loud and clear. Now all prompts are heard. Poem from R&#38;D staff? Yes. Rhyming sonnets were shakespeare-like complex; they wrote Japanese haiku, showed as above. The SAS R&#38;D staff should complete some paper work in defects system before changing a code. They use informal descriptive language(HAIKUUU!) in the early [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>First prompts are silent.<br />
Subsequent prompts loud and clear.<br />
Now all prompts are heard.</p></blockquote>
<p>Poem from R&amp;D staff?<br />
Yes. Rhyming sonnets were shakespeare-like complex;<br />
they wrote Japanese haiku, showed as above.</p>
<p>The SAS R&amp;D staff should complete some paper work in defects system before changing a code. They use informal descriptive language(HAIKUUU!) in the early stage. <a href="http://blogs.sas.com/sasdummy/" target="_blank">Chris Hemedinger</a>, a senior software engineer at SAS, collected some <a href="http://blogs.sas.com/sasdummy/index.php?/archives/62-Poetry-in-commotion.html" target="_blank">haikus</a> in his blog to show the humor side of SAS R&amp;D staff. It&#8217;s interesting to cite one of the most famous haikus by <a href="http://en.wikipedia.org/wiki/Matsuo_Bash%C5%8D" target="_blank">Matsuo Bashō</a> for comparison:</p>
<blockquote><p>Old pond<br />
a frog jumps<br />
the sound of water</p></blockquote>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e0bef7d3-3ec5-4580-99ea-fd432ffbdcce" class="wlWriterSmartContent" style="margin: 0px; padding: 0px; display: inline;">del.icio.us Tags: <a rel="tag" href="http://del.icio.us/popular/haiku">haiku</a>,<a rel="tag" href="http://del.icio.us/popular/SAS">SAS</a>,<a rel="tag" href="http://del.icio.us/popular/R&amp;D">R&amp;D</a>,<a rel="tag" href="http://del.icio.us/popular/Matsuo%20Bash%c3%b4">Matsuo Bashô</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2008/12/10/haiku-from-sas-rd-staff-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy grow up</title>
		<link>http://www.jiangtanghu.com/blog/2008/12/10/happy-grow-up-2/</link>
		<comments>http://www.jiangtanghu.com/blog/2008/12/10/happy-grow-up-2/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 02:21:00 +0000</pubDate>
		<dc:creator>Jiangtang Hu</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[Beijing]]></category>
		<category><![CDATA[Robert Louis Stevenson]]></category>
		<category><![CDATA[The Book of Virutes]]></category>
		<category><![CDATA[W. Bennentt]]></category>

		<guid isPermaLink="false">http://www.jiangtanghu.com/blog/2008/12/10/happy-grow-up-2/</guid>
		<description><![CDATA[Happy hearts and happy faces, Happy play in grassy places&#8211; -Good and Bad Children by Robert Louis Stevenson I read this verse in W. Bennentt&#8217;s popular book, The Book of Virtues, during the bus-to-company time this morning. It&#8217;s interesting to read Stevenson&#8217;s Treasure Island, of course in Chinese edition when I was young. Yes, it [...]]]></description>
			<content:encoded><![CDATA[<div><span style="font-family: Arial;"> </span></div>
<div style="margin-right: 0px;" dir="ltr"><span style="font-family: Arial;"></p>
<blockquote><p>Happy hearts and happy faces,<br />
Happy play in grassy  places&#8211;<br />
-<em><a href="http://www.bartleby.com/188/128.html">Good and Bad  Children</a></em> by <a href="http://en.wikipedia.org/wiki/Robert_Louis_Stevenson">Robert Louis  Stevenson</a></p></blockquote>
<p>I read this verse in W. Bennentt&#8217;s popular book,  <em><a href="http://www.amazon.com/Book-Virtues-Treasury-Great-Stories/dp/0671683063">The  Book of Virtues</a></em>, during the bus-to-company time this morning. It&#8217;s  interesting to read Stevenson&#8217;s <em>Treasure Island</em>, of course in Chinese  edition when I was young.</p>
<p></span></div>
<div><span style="font-family: Arial; font-size: 85%;"> </span></div>
<div><span style="font-family: Arial;">Yes, it sounds &#8220;uncool&#8221;, &#8211;I went to work, with technical  documents in my bag, and read a for-children book. A grown-up with childlike  innocence? dare not say. I just read the book to fresh my mind and my  English.</p>
<p></span></div>
<div></div>
<div><span style="font-family: Arial;">It snows little Beijing. </span></div>
<p><span style="font-family: Arial;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiangtanghu.com/blog/2008/12/10/happy-grow-up-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

