★データ解析備忘録★

ゆる〜い技術メモ

Emacsのddskkで辞書をGoogle IMEにする

Emacsでは日本語入力にSKKを利用しているのですが、どうもデフォルトの辞書では変換がショボいので、GoogleIMEを使おうと思います。

何がすごいのか

例えば、「さーばー」と入力すると、自分で辞書登録せずとも

サーバー、Server、server、SERVER

が変換候補として現れたり、 「まほうしょうじょまどかまぎか」のような普通の辞書にはない単語を

魔法少女まどか☆マギカ

といい感じに変換してくれたりします。

(古い例ですが漢字ひらがなカタカナ記号のあるいい例が思いつかなかったので...)

あるいは、「わたしのなまえは」を

私の名前は

のように文節で変換してくれたりします。

続きを読む

(Macの)Rでipadic-neologdを使う

前置き

7月のTokyo.Rにて、こんな発表をしました。

RとMeCabと正規表現

MeCabでの顔文字とかの誤解析を前処理ではなく「後処理」で整理する、という内容だったのですが、こんな指摘がありました。

実はipadic-neologdは以前のバイト先で使っていたので知っていたのですが、今回の発表ではすっかり忘れていたのでした(笑)。

ipadic-neologdとは

昨年の3月くらいに登場した、固有名詞や最近の言葉にに強いMeCab用の辞書です。

続きを読む

【SAS】アルファベットや飛び飛びの値でもループしたい

SASの繰り返しのマクロである%doループでは%do i=1 %to 10のように、整数値でしかループさせることができません。 今回は、整数以外でもループさせたいときの対処法をまとめてみます。

飛び飛びの値

飛び飛びの値とは、%do i=1 , 2, 3, 5のように整数が連続していないループのこと。 この対処法については

データステップ100万回      SAS新手一生: マクロの%doループはループ値にリスト形式の離散値は指定できないので、工夫しようの話

にまとまってますが、おそらく最もシンプルで応用が利くのは以下のやり方です。

これを実行すると、A列に1があるというシンプルなデータセットmydata1, mydata2, mydata3, mydata5の4つがWORKライブラリに作成されます。

このコードでは、%letでループに使う数字をマクロ変数で定義して%scanで新しくjに代入しています。 なので、ここの%letさえ変えてやれば文字だろうと数字だろうと自由にループを作成できます。

%sysfuncは()の中身に関数を指定してそれを実行するマクロです。

アルファベット

例えば、上記と似たような感じでmydataA〜mydataEを作りたいことを考えます。(1~5でいいじゃんというツッコミは受け付けません。)

方法1 上記と同じように代入する

方法2 asciiコードを使う

SAS忘備録: DO i = 'A' to 'Z' ; で紹介されている方法です。asciiコードとは、コンピュータにおける最も基本的な文字コードで、全部で128割り当てられているのですが、このうち10進数で言うところの65〜90にアルファベットのA〜Zが割り当てられています。そこで、SAS上でasciiコードを呼び出せるbyte()関数を%sysfunc()の中に入れて以下のように書きます。

Tokyo.R #55 に参加してきた

Tokyo.R #55に参加してきました。 今回の会場はサイバーエージェント社。

今回は自分で補足できる内容がほとんどないので、現時点で集められたスライドをまとめるだけです。 ほぼ自分用メモです。 自分のLTについては別記事で補足を書きます。

初心者セッション

10分で分かるr言語入門ver2 (@doradora09)

今回のためのスライドは公開されていませんが、以下がほぼ同内容。

www.slideshare.net

続きを読む

R Presentationで長いRの出力を表示したい

R Studioでプレゼンのスライドが作れるR Presentationですが、Rの出力が長い場合スライドからはみ出てしまいます。
回避方法として、1枚目のスライドのところに以下のCSSを書いてやることで解決しました。

<style>
body {
    overflow: scroll;
}
</style>

ページ内に入りきらない部分はスクロールができるようになります。
.RPresはHTMLやCSSコマンドが直書きできるので一部分だけ変えたい時は便利ですね。
余裕ができたらR Presentation用のカスタムCSSを作ろうと思います。

補足

Twitterで教えていただいたのですが、R Presentationではなく{revealjs}パッケージ*1のテンプレートを使うことでも、スクロール可能なスライドが作れるようです。(要確認)

*1:ちなみにR Presentationはreveal.jsというJavascriptライブラリで動いています。