OneNote Mobile

ゴールデンウィークemonsterを購入したのですが、その中にOneNote Mobileが入っていて、「ああ、ここでメモったりできるのね?」なんて思ったりしていました。

ただ、このOffice Mobileですが、ビミョーな感じでした。

というのは、

  • Wordは表示・編集ともに可能(しかし、問答無用で*.docx形式で保存される。)
  • Excelも表示・編集ともに可能(かなり限定的だが。)
  • PowerPointはビューアーのみ(一番これが編集したりしたいんでねーの?)

だったからです。

で、おまけにOneNote Mobileが入っていたって感じで、あまり気にとめていませんでした。

OneNote 2003

あまり意識はしていなかったのですが、以前からノートPCにはOneNote 2003がインストールされていて、思い出したように使ったり使わなかったりしてました。なぜインストールされたのかはよく覚えていないのですが、WACOMタブレットについていたのかもしれません。

便利なような気もしていたのですが、本格的に利用しなかったのは、

  • 他のPC類にインストールされてなかった。

というのが正直なところかもしれません。

Office 2007に切り替えました。

これまで、Microsoft Officeにはうんざりさせられることが多かったですが、いろいろとひと段落がついたのでOffice 2007に切り替えたのですが、今回は「よくできてるなぁ。」と感じさせられるところがあったので、ちょっとブログの趣旨とは異なりますが、Office 2007について触れたいと思います。

データフレームに対してダイレクトにSQLを発行するsqldfライブラリ

データフレームを操作するのに、添え字?の条件付けというのが、イマイチやりにくくて、直感的にガガガガッーと進まないことがあります。

これ、SQLとかでできれば楽なのに・・・なんて思っていたら、ずばりそのもののライブラリがありました。

クロス集計なんかを作るのもこれを使うと簡単で、やみつきになりました。

今どきTeXはなかろう・・・

という人も多いと思います。

というか、私もそう思います。

そういう意味では、RからOpen Document Formatで吐き出せるodfweaveというライブラリがあるのですが、恥ずかしながらうまく使いこなせませんでした(ToT)

なんだか、制御命令が複雑でマスターするのが大変なんです。
かなり頑張ったのですが、挫折しました。

#特にWriterに吐くのはサンプル通りなので簡単なのですが、
#Impressに思い通りのレイアウトで吐き出すのがツライです。

文芸的プログラミング

まあ、いかに効率よく統計処理をして、レポートなりプレゼンを作るか?ということが求められるわけですが、今回はtoolsパッケージのSweave()関数を使って、TeXとして処理しました。

#いわゆる文芸的プログラミングというやつです。

TeX自体は、もう使うのは学生のころ以来で、昔はインストールも設定も面倒でしたが、最近は皆様の努力で非常に快適になっています。

私がお世話になっているのは、こちらのVisual Windows for TeXという統合環境です。

Visual Windows for TeX

統合環境になっているのが素晴らしい使い勝手を提供しているのはもちろんなのですが、Visual Windows for TeXインストーラW32TeXインストーラーをキックしてくれるので、TeX環境もあっさりバッチリ揃ってしまいます。

プロジェクトファイルに、TeXによるコマンドとRを呼び出すコードチャンクというものを埋め込んだものを、filename.Rnwというファイルに記述し、Sweave("filename.Rnw")として処理すると、filename.texが吐き出されます。

何度か、この方法でやっているのですが、コツとしては、

  • TeX本体のファイルは別に定義して、Sweaveで吐き出された*.texファイルをインクルードしたほうがいい。
  • *.Rnwもほっておくと巨大になるのでこまめに分割したほうがいい。
  • 共通の処理や、たくさんの*.Rnwファイルを処理するメインの*.Rファイルを用意する。

というのが効率が良いような気がしました。

本当はプレゼン形式で吐き出したいのですが、TeXでプレゼンを吐き出すというのがあまり慣れていないのでまだうまくいっていません。

収集したデータはどうやって入力する?

今回は、とりあえず、収集した項目数が膨大でExcelにバカ正直に入力するとどこの何を入力しているのか、入力担当が訳わからなくなってしまうような状況だったので、Accessでテーブルとフォームを作り、適便クエリをかけて修正してExcelにエキスポートしてからRに読み込みました。

なぜ、Accessからダイレクトに読み込まないか?と申しますと、これはどうやらAccessの仕様のようなのですが、読み出し時の型は最初の5行くらいから判別しているようで、最初に入力値なしのレコードが5行以上並んでしまうと、データフレームに読み込んだときの型がメチャクチャになって大変だからです。

#なぜかExcelだと大丈夫なんですが。

さて、項目数が膨大だったと書きましたが、フォームを作るときもその手間は膨大で、入力担当の負荷や入力ミスを軽減するようにと思ったのですが、結果的に入力を開始してもらうのが遅れて、不本意ながら非常に負担をかける結果となってしまいました。

で、途中で気がついたのですが、Google Document & SpreadSheetの言語設定をUSにすると、なんと新機能がたくさん増えているではないですか!

特に、非常に使えそうだと思ったのは、Spreadsheetの「フォーム機能」です。

とりあえず、列名をつけておくと、フォームエディタが起動できて(といっても、そんなにすごいものではないですが)、どういう値を入力するか?あるいは単一選択、複数選択、オープンクエスチョンなど、さくさく作ることができます。

#飲み会の希望日時の集計なんか、これで一発で済むような気がします。

また、すばらしいのが、このフォーム、そのままWebフォームになっちゃったり、Gmailアドレスに配信したりできちゃうんです。

複数の入力担当者がいるときでも非常にいいですね。

ただ、ちょっと不便だったのは複数選択の場合なのですが、

  • 高血圧
  • 糖尿病

などの複数選択項目を用意して、両方選択するとセルの中には値として、

"高血圧" "糖尿病"

などと入力されます。

ここの部分は単数選択にするか(入力項目が増えてしまいますが)、後処理が必要になります。