<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Latest comments for language 'R' on doukaku.org</title><link>http://ja.doukaku.org/lang/r/</link><description>Latest comments for language 'R' on doukaku.org(long)</description><language>ja</language><lastBuildDate>Sat, 22 Nov 2008 20:57:01 -0000</lastBuildDate><item><title>kkobayashi's comment on 漢数字で九九の表
</title><link>http://ja.doukaku.org/comment/7917/</link><description>



&lt;a href="http://ja.doukaku.org/212/"&gt;漢数字で九九の表&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/212/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/212/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;outerかわいいです&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5
6&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;number.lhs &amp;lt;- unlist(strsplit(&amp;quot;　一二三四五六七八九&amp;quot;, &amp;#39;&amp;#39;))
number.rhs &amp;lt;- unlist(strsplit(&amp;quot;〇一二三四五六七八九&amp;quot;, &amp;#39;&amp;#39;))
s &amp;lt;- length(NA)
e &amp;lt;- length(number.lhs) - s
number.tbl &amp;lt;- t(outer(number.lhs, number.rhs, paste, sep=&amp;quot;&amp;quot;))
outer(s:e, s:e, function(x,y) number.tbl[x*y+s])
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7917/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7917/</guid></item><item><title>kkobayashi's comment on 世界時計
</title><link>http://ja.doukaku.org/comment/7907/</link><description>



&lt;a href="http://ja.doukaku.org/213/"&gt;世界時計&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/213/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/213/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;色々やり方はあると思いますが、format.POSIXctを使ってみました。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;paste(&amp;quot;Local time&amp;quot;, Sys.time(), sep=&amp;quot; : &amp;quot;)
paste(&amp;quot;GMT&amp;quot;, format(Sys.time(), tz=&amp;quot;GMT&amp;quot;), sep=&amp;quot; : &amp;quot;)
paste(&amp;quot;America/Los_Angeles&amp;quot;, format(Sys.time(), tz=&amp;quot;America/Los_Angeles&amp;quot;), sep=&amp;quot; : &amp;quot;)
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7907/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7907/</guid></item><item><title>kkobayashi's comment on π
</title><link>http://ja.doukaku.org/comment/7771/</link><description>



&lt;a href="http://ja.doukaku.org/210/"&gt;π&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/210/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/210/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;Rにはpiという組み込み変数がありますが、計算であればRらしくモンテカルロで。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;pi.montecarlo &amp;lt;- function(n){
  mean(replicate(n, sum(runif(2)^2) &amp;lt; 1)) * 4
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7771/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7771/</guid></item><item><title>kkobayashi's comment on タブ区切りデータの処理
</title><link>http://ja.doukaku.org/comment/7729/</link><description>



&lt;a href="http://ja.doukaku.org/209/"&gt;タブ区切りデータの処理&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/209/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/209/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;統計処理言語だけあって、Rでは、この手のデータ処理は非常に直感的です。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;# タブ区切りのデータを読み込む
d &amp;lt;- read.delim(&amp;quot;input.tsv&amp;quot;)

# 第1カラムの値でデータを昇順にソートする。
d &amp;lt;- d[sort.list(d[,1]),]

# 第2カラムと第3カラムをヘッダを含めて入れ替える。
d[,c(2,3)] &amp;lt;- d[,c(3,2)]
colnames(d)[c(2,3)] &amp;lt;- colnames(d)[c(3,2)]

# 第4カラムの値にそれぞれ1を加える。
d[,4] &amp;lt;- d[,4] + 1

# 書き出す
write.table(d, &amp;quot;output.tsv&amp;quot;, sep=&amp;quot;\t&amp;quot;, quote=F, row.names=F)
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7729/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7729/</guid></item><item><title>kkobayashi's comment on LL Golf Hole 9 - トラックバックを打つ
</title><link>http://ja.doukaku.org/comment/7584/</link><description>



&lt;a href="http://ja.doukaku.org/207/"&gt;LL Golf Hole 9 - トラックバックを打つ&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/207/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/207/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  RでHTTPリクエストを扱うには、Pure&amp;nbsp;Rで実装されたhttpRequestとlibcurlを使ったRCurlがあるようです。&lt;br/&gt;&lt;br/&gt;Pure&amp;nbsp;Rには心引かれたのですが、POST先URLの扱いが簡単なRCurlを使いました。
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5
6&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;library(RCurl)
print(postForm(&amp;quot;http://ll.jus.or.jp/2008/blog/archives/38/trackback&amp;quot;,
  title     = &amp;quot;LL Golf Hole 9 - トラックバックを打つ&amp;quot;,
  excerpt   = &amp;quot;ニコニコ動画で拝見しました。あらためて解説付きで紹介されると面白いですね。自分のコードが紹介されててビックリしました。&amp;quot;,
  url       = &amp;quot;http://ja.doukaku.org/207/&amp;quot;,
  blog_name = &amp;quot;どう書く？org&amp;quot;))
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7584/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7584/</guid></item><item><title>kkobayashi's comment on 文字列型日時ののN秒後時間取得
</title><link>http://ja.doukaku.org/comment/7538/</link><description>



&lt;a href="http://ja.doukaku.org/204/"&gt;文字列型日時ののN秒後時間取得&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/204/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/204/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;pre class='compact'&gt;フォーマットが任意だと楽ちんでいいですね。

&amp;gt; DateEx("2008-09-02 00:00:00 JST", 30)
[1] "2008-09-02 00:00:30 JST"
&amp;gt; DateEx("2008-09-02 00:00:00 JST", -30)
[1] "2008-09-01 23:59:30 JST"
&lt;/pre&gt;
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;DateEx &amp;lt;- function(d1=Sys.time(), d2=0){
  as.POSIXct(d1) + d2
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7538/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7538/</guid></item><item><title>kkobayashi's comment on LL Golf Hole 8 - 横向きのピラミッドを作る
</title><link>http://ja.doukaku.org/comment/7431/</link><description>



&lt;a href="http://ja.doukaku.org/203/"&gt;LL Golf Hole 8 - 横向きのピラミッドを作る&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/203/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/203/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;正攻法で文字列処理をすると長くなってしまうので、&lt;/p&gt;
&lt;p&gt;少し変則的に文字列処理をしない方向で書いてみました。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;n &amp;lt;- 4+1
l=rep(&amp;quot;*&amp;quot;,n^2);l[cumsum(n-abs(-n:n))]=&amp;quot;\n&amp;quot;;cat(l)
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7431/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7431/</guid></item><item><title>kkobayashi's comment on LL Golf Hole 7 - バイト数を読みやすくする
</title><link>http://ja.doukaku.org/comment/7326/</link><description>



&lt;a href="http://ja.doukaku.org/202/"&gt;LL Golf Hole 7 - バイト数を読みやすくする&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/202/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/202/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;R的にはループを使わない方向で。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5
6&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;bytes.pretty &amp;lt;- function(n){
  u &amp;lt;- c(&amp;#39;&amp;#39;, &amp;#39;k&amp;#39;, &amp;#39;M&amp;#39;, &amp;#39;G&amp;#39;, &amp;#39;T&amp;#39;)
  r &amp;lt;- 1024^(1:length(u)-1)
  i &amp;lt;- which.min(abs(512-n/r))
  sprintf(&amp;quot;%.1f%s&amp;quot;, n/r[i], u[i])
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7326/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7326/</guid></item><item><title>kkobayashi's comment on LL Golf Hole 6 - 10進数を2進数に基数変換する
</title><link>http://ja.doukaku.org/comment/7237/</link><description>



&lt;a href="http://ja.doukaku.org/201/"&gt;LL Golf Hole 6 - 10進数を2進数に基数変換する&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/201/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/201/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;出力フォーマットにこだわらなければintToBts()だけで変換可能です。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;d2b &amp;lt;- function(n) paste(as.integer(rev(intToBits(n:n))), collapse=&amp;quot;&amp;quot;)
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7237/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7237/</guid></item><item><title>kkobayashi's comment on LL Golf Hole 5 - 最上位の桁を数え上げる
</title><link>http://ja.doukaku.org/comment/7189/</link><description>



&lt;a href="http://ja.doukaku.org/200/"&gt;LL Golf Hole 5 - 最上位の桁を数え上げる&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/200/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/200/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;ループより再帰の方がきれいに書けるかも？と思ったので試してみました。&lt;/p&gt;
&lt;p&gt;もう少しうまく書けそうですが・・・&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;count &amp;lt;- function(n=300){
  if(n!=0) Recall(n - 10^(nchar(n-1)-1))
  print(n)
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7189/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7189/</guid></item><item><title>kkobayashi's comment on LL Golf Hole 5 - 最上位の桁を数え上げる
</title><link>http://ja.doukaku.org/comment/7172/</link><description>



&lt;a href="http://ja.doukaku.org/200/"&gt;LL Golf Hole 5 - 最上位の桁を数え上げる&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/200/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/200/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;たしかに、数値しか入力されないから&amp;quot;.&amp;quot;で十分なのですね。シンプルすぎる・・・&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;grep(&amp;quot;^.0*$&amp;quot;,0:300)-1
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7172/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7172/</guid></item><item><title>kkobayashi's comment on LL Golf Hole 5 - 最上位の桁を数え上げる
</title><link>http://ja.doukaku.org/comment/7155/</link><description>



&lt;a href="http://ja.doukaku.org/200/"&gt;LL Golf Hole 5 - 最上位の桁を数え上げる&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/200/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/200/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;grepが一番シンプルかもですね。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;count &amp;lt;- function(n) grep(&amp;quot;^[0-9]0*$&amp;quot;, 0:n, value=T)
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7155/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7155/</guid></item><item><title>kkobayashi's comment on α置換
</title><link>http://ja.doukaku.org/comment/7124/</link><description>



&lt;a href="http://ja.doukaku.org/171/"&gt;α置換&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/171/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/171/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;substitute()を使って、Rのparserにお任せします。&lt;/p&gt;
&lt;p&gt;お題の「一番外側の変数」というのは、「スコープ内の変数」という解釈でいいのでしょうか。例えば以下のようなコードでは、xの最終的な値は10になるので、スコープをさしているのであれば「一番外側」にこだわる必要はないと判断しました。&lt;/p&gt;
&lt;p&gt;例では、変数&amp;quot;x&amp;quot;を&amp;quot;aaaa&amp;quot;に変更しています。リストの項目名である&amp;quot;x&amp;quot;や文字列中の&amp;quot;x&amp;quot;、別の変数名の一部に含まれる&amp;quot;x&amp;quot;など、置換するべきでないものは残されているようです。:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
&amp;gt; alpha.replace(&amp;quot;x&amp;quot;, &amp;quot;aaaa&amp;quot;)

(入力)
x   &amp;lt;- 1
y   &amp;lt;- list(x=10)
z   &amp;lt;- &amp;quot;w x y z&amp;quot;
xyz &amp;lt;- 1
zzz &amp;lt;- {
   x &amp;lt;- 10
}
x

(出力)
{
   aaaa &amp;lt;- 1
   y &amp;lt;- list(x = 10)
   z &amp;lt;- &amp;quot;w x y z&amp;quot;
   xyz &amp;lt;- 1
   zzz &amp;lt;- {
       aaaa &amp;lt;- 10
   }
   aaaa
}
&lt;/pre&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;alpha.replace &amp;lt;- function(from, to){
   script &amp;lt;- c(&amp;quot;substitute({&amp;quot;,readLines(),&amp;quot;}, list(&amp;quot;,from,&amp;quot;=quote(&amp;quot;,to,&amp;quot;)))&amp;quot;)
   eval(parse(text=script))
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7124/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7124/</guid></item><item><title>kkobayashi's comment on echoクライアント
</title><link>http://ja.doukaku.org/comment/7120/</link><description>



&lt;a href="http://ja.doukaku.org/199/"&gt;echoクライアント&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/199/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/199/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;こんな感じでしょうか。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5
6
7
8
9&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;echo.client &amp;lt;- function(host.name=&amp;quot;localhost&amp;quot;, port.number=9999){
  sock &amp;lt;- socketConnection(host=host.name, port=port.number)
  repeat{
    writeLines(readLines(), sock)
    writeLines(readLines(sock, n=1))
  }
}
argv &amp;lt;- commandArgs(trailingOnly=T)
echo.client(argv[1], argv[2])
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7120/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7120/</guid></item><item><title>kkobayashi's comment on ウィンドウの表示
</title><link>http://ja.doukaku.org/comment/7119/</link><description>



&lt;a href="http://ja.doukaku.org/7/"&gt;ウィンドウの表示&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/7/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/7/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;いまさらですが、お題の「画面中央に」を満たしていなかったので直しました。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5
6
7
8
9&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;library(tcltk)
w  &amp;lt;- 100
h  &amp;lt;- 75
tt &amp;lt;- tktoplevel(width=w, height=h)
g &amp;lt;- paste(&amp;quot;+&amp;quot;, c(round((as.integer(tkwinfo(&amp;quot;screenwidth&amp;quot;, tt)) - w)/2),
                  round((as.integer(tkwinfo(&amp;quot;screenheight&amp;quot;, tt)) - h)/2)),
           sep=&amp;quot;&amp;quot;, collapse=&amp;quot;&amp;quot;)
tkwm.geometry(tt, g)
tkwm.title(tt, &amp;quot;こんにちは、GUI！&amp;quot;)
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7119/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7119/</guid></item><item><title>kkobayashi's comment on 出力の一時停止と再開
</title><link>http://ja.doukaku.org/comment/7118/</link><description>



&lt;a href="http://ja.doukaku.org/179/"&gt;出力の一時停止と再開&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/179/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/179/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;R的にはちょっと難しいお題ですね。&lt;/p&gt;
&lt;p&gt;キーイベントを取得するにはgetGraphicsEvent()という関数がありますが、実行中はR本体の処理がブロックされてしまって、肝心の&amp;quot;a&amp;quot;を出す処理が実行できないようです。&lt;/p&gt;
&lt;p&gt;代わりにR TclTkを使うことにしました。相変わらずWindowsのRguiはコンソール入出力がよろしくないので、Rtermから実行してください。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;library(tcltk)

tt &amp;lt;- tktoplevel()
pause.flag &amp;lt;- FALSE
quit.flag &amp;lt;- FALSE

tkbind(tt, &amp;quot;&amp;lt;Key&amp;gt;&amp;quot;, function(K){
  switch(K,
    q = {quit.flag &amp;lt;&amp;lt;- TRUE; },
    p = {pause.flag &amp;lt;&amp;lt;- !pause.flag}
)})

repeat{
  if(!pause.flag){
    writeLines(&amp;quot;a&amp;quot;)
  }
  if(quit.flag){
    tkdestroy(tt)
    quit(save=&amp;quot;no&amp;quot;)
  }
  Sys.sleep(1)
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7118/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7118/</guid></item><item><title>kkobayashi's comment on HTTPでGET　その2
</title><link>http://ja.doukaku.org/comment/7112/</link><description>



&lt;a href="http://ja.doukaku.org/113/"&gt;HTTPでGET　その2&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/113/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/113/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;タイムアウトはtimeoutというオプション、プロキシサーバーはhttp_proxyという環境変数でそれぞれ指定します。&lt;/p&gt;
&lt;p&gt;http_proxyは、起動後初回のダウンロード処理を実行する前に、一度だけ設定可能です。その後は設定可・不可の切り替えはできますが、プロキシサーバーのホストを変更することはできません(These environment variables must be set before the download code is first used: they cannot be altered later by calling Sys.setenv)。&lt;/p&gt;
&lt;p&gt;タイムアウトを1秒にすると、大抵のGETは失敗してしまうみたいですね。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;http.get &amp;lt;- function(url, proxy=&amp;#39;&amp;#39;, timeout.value=1){
  options(timeout=timeout.value)
  Sys.setenv(http_proxy=proxy)
  readLines(url)
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7112/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7112/</guid></item><item><title>kkobayashi's comment on 除算・余剰を使わずに閏年
</title><link>http://ja.doukaku.org/comment/7110/</link><description>



&lt;a href="http://ja.doukaku.org/124/"&gt;除算・余剰を使わずに閏年&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/124/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/124/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;Dateクラスをそのまま使うというのは思いつきませんでした。コロンブスの卵すぎる・・・！&lt;/p&gt;
&lt;p&gt;一応正攻法も載せておきますね。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5
6
7&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;is.leap.year1 &amp;lt;- function(y){
    !is.na(ISOdate(y,2,29))
}

is.leap.year2 &amp;lt;- function(y){
    y %in% union(setdiff(seq(0,y,4), seq(0,y,100)), seq(0,y,400))
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7110/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7110/</guid></item><item><title>kkobayashi's comment on LL Golf Hole 4 - 文章から単語の索引を作る 
</title><link>http://ja.doukaku.org/comment/7085/</link><description>



&lt;a href="http://ja.doukaku.org/198/"&gt;LL Golf Hole 4 - 文章から単語の索引を作る &lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/198/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/198/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;ちょっと短くしました。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;f &amp;lt;- &amp;#39;http://www.gnu.org/licenses/gpl.txt&amp;#39;
sapply(unique(unlist(strsplit((l&amp;lt;-readLines(f)),&amp;quot;\\W+&amp;quot;))),grep,l)
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7085/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7085/</guid></item><item><title>kkobayashi's comment on LL Golf Hole 4 - 文章から単語の索引を作る 
</title><link>http://ja.doukaku.org/comment/7072/</link><description>



&lt;a href="http://ja.doukaku.org/198/"&gt;LL Golf Hole 4 - 文章から単語の索引を作る &lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/198/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/198/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;コード内にURLが出るかでないかで長さがだいぶ違ってくるのでは・・・。&lt;/p&gt;
&lt;p&gt;とりあえず普通に。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;f &amp;lt;- &amp;#39;http://www.gnu.org/licenses/gpl.txt&amp;#39;
sapply(names(table(unlist(strsplit((l&amp;lt;-readLines(f)),&amp;quot;\\W+&amp;quot;)))), function(s) grep(s,l))
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/r/"&gt;
      R
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7072/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7072/</guid></item></channel></rss>