Rでいちいちstr()とかhelp()とかしたくない人は、tooltip使ったらいいかもしれない

恐らく、Rを使うなかで、かなりお世話になる関数にstr()とかsummary()があります。こいつらは、オブジェクトをいろいろと要約してくれる関数で、オブジェクトに期待するデータ型が入ってるかとか、変な計算してないか、とか確認するときにひっじょーに便利な関数。
この他にもRには便利な関数がたくさんあります。いろいろ便利な関数を手足のように使いこなしてこそ、Rの本領が発揮されるのですが、ここのところ加齢のせいか、引数が全く覚えられなくなってきました。んでいちいちhelpを引くのですが、結構面倒くさい。今回はこいつらを解決してくれるtipsをご紹介。

何が嫌なのか

str()なりsummary()は便利なので多用しているのですが、関数が吐き出すオブジェクトを使うことはほとんどありません。つまり、使い捨てな関数なのです。なのでESSではiESSとかにちょろっと書いて確認したりするわけですが、コーディングのテンポが乱されてなんか嫌です。できれば打たずにどうにかしたいなーとかナマグサなことを考えてしまいます。
もう一つの問題は、かなり深刻。昔は暗記ものが大の得意でした。日本史の年号の暗記なんてお手の物。覚えることが負担になることなんてほとんどなかったのです。んが、最近はほんと覚えられなくなってきました。もしかしたら覚えようという気力が起きてないのかもしれませんが、しょっちゅう忘れてしまいます。
特にRの関数は、膨大な引数持ってたりします。ま、引数忘れてもhelp引けば良いのですが、help()引くのも面倒くさい。そう、何もかもが面倒くさい、ダメな人間なのです。

ESSの眠れる機能を呼び起こす

SVNなどを追っていくとよくわかるのですが、ESSはかなり開発のペースが早いです。ので、どんどん新しい機能が追加されていくのですが、誰もドキュメントを整備しないので、実装されても誰か使ってるかわからない機能が結構あったりします。そんな機能の一つにtooltip-show-at-pointがあります。これはESS5.4からサポートされているようなのですが、デフォルトではnilになっているので、多分ほとんどの人が使っていないと思われる眠れる機能。どんなものかちょっと使ってみたいという方は.emacsに次のように書いてみましょう。んで、ふつーにRで書いていくと、変ったところがすぐわかると思います。

(add-hook 'ess-mode-hook
	  (lambda ()
	    (define-key ess-mode-map "(" 'ess-r-args-auto-show)))
(setq ess-r-args-show-as 'tooltip)

この機能を使って、先ほどの面倒くさいことをどうにかします。

まずはgithubからess-R-object-tooltip.elを落としてきて、ロードパスが通ったところに置いておきます。
ess-R-object-tooltip.el at master from myuhe’s auto-complete-acr.el – GitHub
そして、.emacsに(require ‘ess-R-object-tooltip)って書いておきましょう。
んで、ESSでてきとーに書いて関数の上でC-c C-gとしてみましょう。
例えば、データフレームの上ですると次のようなツールチップが上がってきます。
dataframe
これがrnorm()だとこんな感じで引数の説明が上がってきます。
func
つまり、これまで手入力してた面倒くさいこと諸々がキーバインド一発でできちゃうわけですね。ちなみに、すでに書いたようにこの関数はESS5.4以降でないと動きませんので、バージョンが古い人はこの機会にあげておきましょう。

参考リンク

今回のelispはミネアポリス在住の名無しさんからいただきました。便利なelispありがとうございました。
R Object Tooltips in ESS « Blogistic Reflections
ほかにもこんなのあるよーとかあったら教えてください。

久しぶりにCDジャンキー

ここんとこ、全く音楽にお金を出していませんでした。僕にとって音楽を買うことは株式を買うことより投資効果が高い行為なのです。つまり、このままの状況が続くと、将来僕の心が枯渇してしまう可能性があるわけです。それは危ない。というわけで、久しぶりにCD買ってきました。今回はいつにもまして、節操がないですが、ご勘弁。

FACT “FACT”

最近は静かな曲が好きなのですが、年に1回くらいのペースでヘッドバンキングしながら、思いっきりシャウトしてしまう、いわゆるhogehogeコアな方達の音楽を買ってしまいます。んで、それをたまに聞いてスカーっとするわけですね。FACTもそんな感じで買ってしまったんですが、いろいろとすごいです。5人組のバンドなのですが、全員がボーカル。ドラムの人もですね。ヴォコーダ使ったりとか、ふつーのhogehogeコアな人たちとは、ちょっと違う感じが良いです。boom boom satellitesとかもRemixしてるみたいですね。それと曲の作りが結構複雑。テンポいきなり変わったり、ピッチ変わったり一筋縄ぢゃない感あります。
いちお動画貼ってみたりしときます。

boom boom satellitesのremixしたやつはこちら。うーん、これかっこよいです。

FACT / FACT / CD ( Music )

Indies Label( 2009-04-22 )

定価:¥ 2,690 ( 中古価格 ¥ 1,880 より )


P-4K “A Harmony of Colors”

また、こちらは毛色が全然変って女性二人がボーカルをとるジャズバンド。女性二人とか聞くと、どうせハモって云々な感じでしょうて思うのですが、んなことは全くなく、それぞれの二人のこえの質感がうまく出てる感じがして、とても好感がもてます。結構スタンダードな感じが多かったので、願わくばもっと冒険してFACTみたいな曲もいれてほしいものです。

Harmony of Colors / P-4k / CD ( Music )

Inpartmaint( 2009-10-22 )

定価:¥ 2,300


大橋トリオ”I Got Rhythm?”

もう完全にメジャーになってしまった大橋トリオのメジャー第1弾アルバム。オビにも書いてあるとおり、今回はかなりダンサブル、というか明るい感じの曲調が多いですね。個人的にはあの陰湿な、何とも言えないジメーっと感が好きだったので、ちと残念。そんな中、6曲目の”君は雨”と12曲目の”Lady”じめっと感たっぷりの2曲。おすすめです。

I Got Rhythm? / 大橋トリオ / CD ( Music )

rhythm zone( 2009-11-11 )

定価:¥ 2,940 ( 中古価格 ¥ 2,400 より )


今週の気になるアレNovember 14th

twitter (feed #2)
情報どもです。 ちなみにプロファイルに保存されるとなんかまずい点ってありました?RT @ussy00: @myuhe ProfD を TmpD にすればいいだけでした。。。 [myuhe]
twitter (feed #2)
昨日のネット断絶騒ぎ、NTTに電話したら、おおもとの機械が壊れてたって言われた。おおもとってどこまでおおもとなんだろう。 [myuhe]
twitter (feed #2)
とうわけで、sheepheadは現在見れないです。NTTの中の人の頑張りに期待するしかありません。 [myuhe]
twitter (feed #2)
日記書いた-> 今週の気になるアレNovember 11th http://bit.ly/3Ymi5t [myuhe]
twitter (feed #2)
こういうとき、自宅鯖って不便だよな。やっぱお引っ越しかな? [myuhe]
twitter (feed #2)
【急募】RとPythonがインストールされている、またはインストールできるレンタル鯖 [myuhe]
twitter (feed #2)
うらやましいです!!是非状態してほしいです。。。RT @taiju: Google waveの招待券20とか宝の持ち腐れすぎる。Gmailの時も2人くらいしか招待してないしw [myuhe]
twitter (feed #2)
おーーー繋がるようになっってる!!NTTの人、なかなか仕事が速いではないですか [myuhe]
twitter (feed #2)
ええー!!いいんですか?感謝しきりです。RT @taiju: @myuhe dでメアド教えてもらってもいいですか? [myuhe]
googlereader (feed #6)
googlereader (feed #6)
delicious (feed #4)
twitter (feed #2)
ESSでまた便利な機能発掘してしまった。そんな悠長なことしてるヒマないのに [myuhe]
twitter (feed #2)
今度、時間みてまとめとこ [myuhe]
twitter (feed #2)
あかん、これべんりすぎる。もしかしたらESS本家にもマージされるかも [myuhe]
twitter (feed #2)
うーし、 今日のRお仕事終了。かわいいよESS [myuhe]
twitter (feed #2)
帰ってgoogle waveであそぼーっと [myuhe]
twitter (feed #2)
ようやく、GoogleWaveの使い方分かってきた [myuhe]
twitter (feed #2)
google waveからつぶやいてますよー [myuhe]
delicious (feed #4)
twitter (feed #2)
ま、なんといいますか、一人で使ってて面白いもんではないですな [myuhe]
twitter (feed #2)
明日は波野でお泊まり、明後日は福岡でお泊まり。 [myuhe]
twitter (feed #2)
もう寝る [myuhe]
googlereader (feed #6)
delicious (feed #4)
twitter (feed #2)
今、球磨から帰ってきたなう。これから阿蘇の民宿で泊まってくる。 [myuhe]
googlereader (feed #6)
twitter (feed #2)
阿蘇から帰ってきた。たいして飲んでないので結構元気 [myuhe]
googlereader (feed #6)

今週の気になるアレNovember 11th

twitter (feed #2)
日記書いた-> 今週の気になるアレNovember 5th http://bit.ly/4fS3L5 [myuhe]
twitter (feed #2)
radwimps聞いてたら泣きそうになった。おすすめ "YouTube – 25コ目の染色体 RADWIMPS PV" – http://tinyurl.com/yldjljm [myuhe]
twitter (feed #2)
うーん、handleeventっていつ呼ばれてるんだろ [myuhe]
twitter (feed #2)
ええーーは、はやい。。RT @stillpedant: @myuhe とりあえず直ったっぽいので、メール送りますね。 [myuhe]
twitter (feed #2)
たまにGit使うと混乱するね [myuhe]
twitter (feed #2)
アイコンでけたー [myuhe]
googlereader (feed #6)
twitter (feed #2)
あ、そうですね。作者さんにも連絡しときます。RT @stillpedant: @myuhe ああ、あと移植元を明記しておいた方が良さげですね。 [myuhe]
googlereader (feed #6)
delicious (feed #4)
delicious (feed #4)
delicious (feed #4)
delicious (feed #4)
googlereader (feed #6)
twitter (feed #2)
うーーん、winではうまくいくがubuntuでこける。javascriptって結構プラットフォームに依存するんか?? [myuhe]
twitter (feed #2)
うまく、プラットフォームを認識してくれないっぽい。ま、オプション扱いってことでいいや。 [myuhe]
lastfm (feed #3)
4 曲を聴きました。
googlereader (feed #6)
twitter (feed #2)
これから、相方殿のオカンと飲みに行ってくる [myuhe]
googlereader (feed #6)
twitter (feed #2)
これ聴いてる-> Acoustic Dub Messengers – Middle [myuhe]
googlereader (feed #6)
twitter (feed #2)
これ聴いてる-> Steruss – 「尖」 feat. 鈴木勳 / bass & スガダイロー / piano [myuhe]
twitter (feed #2)
こんな時期に日焼けしてしまった。顔がほてってる [myuhe]
googlereader (feed #6)
twitter (feed #2)
これ聴いてる-> くるり – ばらの花 ~remixed by Rei Harakami [myuhe]
twitter (feed #2)
これ聴いてる-> 大橋トリオ – Pretty Little Darling [myuhe]
lastfm (feed #3)
14 曲を聴きました。
twitter (feed #2)
ぐあーsongbirdって曲変わるときにフォーカス取りやがる。イライラするなー [myuhe]
delicious (feed #4)
twitter (feed #2)
これ聴いてる-> Frontier Backyard – turned back [myuhe]
twitter (feed #2)
日記書いた-> firefoxのテキストエリアをemacsにしてくれるプラグイン”K2editor”をリリースしました http://bit.ly/3ad80u [myuhe]
twitter (feed #2)
しばらく、wordpressの管理画面見てなかったんだけど、プラグインのバージョンアップがとんでもないことになってた。 [myuhe]
twitter (feed #2)
ありがとうございました。 自分の設定が悪いだけでしたorz お騒がせしてごめんなさい。RT @ussy00: @myuhe 自分の環境では問題なさそうでした。横から失礼しました。 [myuhe]
twitter (feed #2)
お、とうとう9.10でもchromeアップデートか [myuhe]
twitter (feed #2)
明日は本を注文しよう。RグラフィックスとオープンソースGIS買う [myuhe]
twitter (feed #2)
む、auto-complete.el、とうとうファイル名補完までできるようになってる。シェルとかで使えたら最強ぢゃないか [myuhe]
twitter (feed #2)
なので、寝る。 [myuhe]
twitter (feed #2)
むーはてぶのタイトルって、後から変えられないのか。どうにかしてくれないのかな [myuhe]
twitter (feed #2)
と思ったら、変えれたね。 [myuhe]
delicious (feed #4)
googlereader (feed #6)
googlereader (feed #6)
twitter (feed #2)
うれしいんですけど、うちのオンボロサーバが落ちないかガクブルです。RT @stillpedant: すげー myuhe さんの記事一日も経たないうちにはてブ 20 件越えしてる! これでユーザ数が増えそうな雰囲気。 [myuhe]
twitter (feed #2)
Winだと、gnuclientの設定がめんどいっぽいのでとりあえず、xyzzyにした。なんとゆーていたらく [myuhe]
delicious (feed #4)
delicious (feed #4)
twitter (feed #2)
というわけで、Macユーザの方は0.0.5にあげてもらって、動作報告してもらえるとうれしいです。 [myuhe]
twitter (feed #2)
電磁波ノイズでスピーカーがブーブーやかましい。仕方ないので、音楽かけてごまかしてる。 [myuhe]
twitter (feed #2)
これ聴いてる-> ZAZEN BOYS – Kimochi [myuhe]
twitter (feed #2)
なぜか、うちに泡風呂エキスりんごアップル味がある。座敷童子の仕業かもしれない。 [myuhe]
twitter (feed #2)
むータバコ吸いたくなってきたけど、職場に置いて来てしまった。買いにいくのも面倒くさい。とりあえず部屋かたづけよ [myuhe]
twitter (feed #2)
これ聴いてる-> ZAZEN BOYS – CRAZY DAYS CRAZY FEELING [myuhe]
twitter (feed #2)
フォーカスとられてうざかったsongbird。別のワークスペースに置いておけば良いことに気づいた。alt tab派なので以外な盲点。 [myuhe]
twitter (feed #2)
うーん、新しいauto-complete.el。肝心のファイル名補完が動かない。他のところは問題ないみたいだけど [myuhe]
twitter (feed #2)
これ聴いてる-> ZAZEN BOYS – Weekend [myuhe]
twitter (feed #2)
そういえば、Emacsをエマックスと呼んだら、えらくバカにされた。イーマックスって呼びにくいような気するんだけど [myuhe]
twitter (feed #2)
あの、5文字で語呂もいいですし。。。RT @stillpedant: エマックスは初耳…… [myuhe]
twitter (feed #2)
むーなぜエマックスとゆー呼び方は淘汰されてしまったんだろう。。。 [myuhe]
googlereader (feed #6)
twitter (feed #2)
これ聴いてる-> ZAZEN BOYS – Sabaku [myuhe]
twitter (feed #2)
タバコもないのでひたすら水飲んでる。 [myuhe]
lastfm (feed #3)
15 曲を聴きました。
twitter (feed #2)
twitterでフォローしている人をひたすらリストに入れて遊んでた。結構面白いねリスト機能。 [myuhe]
twitter (feed #2)
ファイル名補完はできなかったけど、新しいauto-complete.elは候補ウィンドウが素敵だ [myuhe]
twitter (feed #2)
日記書いた-> K2EmacsがMacにも対応しました http://bit.ly/4slgpU [myuhe]
twitter (feed #2)
Rユーザとかは、多分圧倒的にEmacsユーザが多いはず。ESSが素敵すぎるから。 [myuhe]
twitter (feed #2)
あ、それ言ったらアカン。。。 RT @syou6162: @myuhe まじれすするとGuiが多いのが現状です [myuhe]
twitter (feed #2)
そんなん言い出したらメモ帳が最も使われるエディタになってしまうよね。。。 [myuhe]
twitter (feed #2)
ちなみに、僕のRのお師匠さまはgeditでC からRまで書いてるらしい。むー弘法筆を選ばず。 [myuhe]
twitter (feed #2)
あー良かった。Macでも動いたみたい。 [myuhe]
googlereader (feed #6)
googlereader (feed #6)
delicious (feed #4)
Shared Toodle Droid.
delicious (feed #4)
delicious (feed #4)
delicious (feed #4)
delicious (feed #4)
delicious (feed #4)
delicious (feed #4)
delicious (feed #4)
delicious (feed #4)
delicious (feed #4)
googlereader (feed #6)
googlereader (feed #6)
twitter (feed #2)
GXR、なんでKマウントにしてくれなかったんだよう。。。 [myuhe]
twitter (feed #2)
雨がやまぬ。職場からバイクで帰らないといけないんだけど、どうしよう。 [myuhe]
twitter (feed #2)
新しいauto-completeってもしかして処理速度があがっているような。モッサリしすぎて捨てたropemacsの補完が結構良い感じでできてたんだけど。 [myuhe]
twitter (feed #2)
Kマウントユニットでたら多分買います。RT @onopko: それかレンズ無しのKマウントユニットだけとか。あ。 [myuhe]
twitter (feed #2)
そういえば、こないだのセミナーで初めてmathematicaのコードみたんだけど、Rとは次元が違うってことはよくわかった。すごく見通しがいい。ま、R使うんだけどね。好きだし [myuhe]
twitter (feed #2)
でも、ほんまもんの数学者とかは、mathematica使うんだと思う。話聞いたら数式書いてコードに書くときにノイズがほとんどないんだとか。 [myuhe]
twitter (feed #2)
雨全くやむ気配無し。うし、カッパ来て帰ろう [myuhe]
twitter (feed #2)
あ、前言撤回。。。RT @nubobo: たっけえ。。 RT @momozou GXRの値段参考(ヨド) ボディ49800円、50mm 74800円 24-72mm 39800円(10%P) http://bit.ly/1orff6 [myuhe]
twitter (feed #2)
うーし、書類できあがり。かえろー [myuhe]
googlereader (feed #6)
twitter (feed #2)
パンツまでずぶ濡れ [myuhe]
twitter (feed #2)
androidはじまった "ソフトバンクのAndroid端末は来春、有機EL画面 & Snapdragon採用" – http://tinyurl.com/yksp54y [myuhe]
twitter (feed #2)
android買ってやる!!絶対にだ [myuhe]
twitter (feed #2)
腐れWM使って1年半くらいだけど、ほんとにOSがひどいからね [myuhe]
twitter (feed #2)
これでプライベートではMSと完全に決別できるな [myuhe]
twitter (feed #2)
わが故郷では大変なことに。。。"shouhikuma.inntanetto.pdf (application/pdf オブジェクト)" – http://tinyurl.com/y97wzxh [myuhe]
twitter (feed #2)
ん?あ、あれですか。あれやめです。@yomi0512 [myuhe]
twitter (feed #2)
だって、softbankからandroid出るって思わないもんなー [myuhe]
twitter (feed #2)
問題は端末をどこがだすかだな。 [myuhe]
twitter (feed #2)
なんとなく、HTCあたりがこそっと作ってそうな気がする [myuhe]
twitter (feed #2)
で、買ってもないのにandroidのアプリ見てるなう [myuhe]
twitter (feed #2)
おいおい、市橋容疑者をiphoneで撮ってる記者いたぞ [myuhe]
googlereader (feed #6)
twitter (feed #2)
これ聴いてる-> くるり – 赤い電車 (Shin-Ski Remix-Galaxy Express 202 Ver) [myuhe]
twitter (feed #2)
シャンプーだと思っていたやつがリンスだったことに3日使用して気づいた [myuhe]
twitter (feed #2)
githubのトラフィックがえらいなことになってた。これでKeySnailのユーザが増えてコミュニティが活発になってくれるといいな [myuhe]
twitter (feed #2)
これ聴いてる-> ZAZEN BOYS – RIFF MAN [myuhe]
delicious (feed #4)
twitter (feed #2)
これ聴いてる-> MO’SOME TONEBENDER – LOW LIFE [myuhe]
twitter (feed #2)
むーやっぱりauto-completeのファイル名補完うまくいかない。pythonでオムニ補完使ってるのが良くないとか?? [myuhe]
twitter (feed #2)
僕も同じ現象で、へこまされました。ggplot2でループを下手に使うのはご法度かもです。RT @dritoshi: ggplot2 を for のなかで使うと画像が出力されいない現象に悩まされている [myuhe]
twitter (feed #2)
ggplot2って見た目がおしゃれなので、つい使いたくなっちゃうけど、はまりポイント結構多い気がするなー [myuhe]
twitter (feed #2)
要は、gridのラッパーなのでgridから作る方がてっとりばやいとか。 [myuhe]
twitter (feed #2)
いや、gridも座標系だのすってんのってはまりポイントあるからな。ま、どーにかできる可能性が高いのはgridのような気が。 [myuhe]
twitter (feed #2)
ループとかオブジェクトに格納とかできないので、前、作図したときは、ggplot2で作図するRスクリプトを書くPythonスクリプトを書いて対処したっけ"ggplot2使ってみた" – http://tinyurl.com/yc2xrbv [myuhe]
lastfm (feed #3)
16 曲を聴きました。
twitter (feed #2)
うーん、単純な例だといいんだけど大量にレイヤーオブジェクト生成したりすると、すごく面倒くさいんだけどな。。。 [myuhe]
twitter (feed #2)
ggplot2は色塗りも大変。 [myuhe]
twitter (feed #2)
はまるデータ構造だといいんだけど、高次元データとかになると、自由度がないんだよね。で、結局gridになるとゆー [myuhe]
twitter (feed #2)
あーうちの回線きれてるのか? サーバにもアクセスできんぞ [myuhe]
twitter (feed #2)
むーなんでだろ? [myuhe]
twitter (feed #2)
むーなんでだろ?雷でもおちた? [myuhe]

K2EmacsがMacにも対応しました

昨晩、日記に書いたK2Emacsですが、ぶコメでMacぢゃ動かんやんけ!!というご指摘が。
えーそんな。とションボリしてたら、なんとmoozさんが修正パッチ送ってくれました。いつもありがとうございます。
Twitter / mooz: @myuhe Wiki のほう修正しておきました。ま …

というわけで、moozさんパッチをあてたK2Emacs0.0.5をgithubにあげました。すでにインストーされた方は、KeySnailのプラグインマネージャからアップデートしてください。
まだ、という方はこちらからどうぞ。
Plugin – keysnail – GitHub

後、動作報告とかもらえるとうれしいです。