Triad sou.

set end; データステップで最後のオブザベーションのみ出力する方法

SAS

これは覚えておくとお得かもしれません。 set data; by variable; if last.variable then output; の仲間ですね。 data sample; input x y z @@; cards; 1 2 3 4 5 6 7 8 9 ; data sample_final; retain xx xy xz yy yz zz 0; set sample end = final; xx = …

Reference class に roxygen2 用のコメントを入れる方法

R

先日 Reference class に roxygen 用のコメントを入れる方法 という記事を書いたのですが、実は全然ドキュメントを作れていなかったことに今更気づいたので、せっかくなので roxygen2 用の場合を作ってみました。 基本的には変わっていませんが、@section で…

箱ひげ図に横棒を追加する

以下のようにすると簡単に横棒付きの箱ヒゲ図を作成できます。 require("ggplot2") df <- data.frame( x = rep(1:5, each = 50), y = rt(2500, 3) ) ggplot(df, aes(x = factor(x), y = y)) + stat_boxplot(geom = "errorbar", stat_params = list(width = 0…

Rcmd Rd2dvi が失敗する

R TeX

Rcmd Rd2dvi で PDF マニュアルを作成することがあるのですが、いつの間にか失敗してしまうようになっていて困っていました。 しかし、単に Rcmd Rd2dvi の実行には MikTeX が必要 (推奨) だったようで、インストールすると問題無く PDF マニュアルを作れる…

コピペでデータ読み込み

R

R で Excel などに入力されたちょっとしたデータを読み込む時、データ整形に結構手間がかかってめんどくさいと思っていましたが、 How to read space delimited data into a data frame from your script/document file? (Stack Overflow) ではコピペだけで…

Error in including pdf figures with \includegraphics; no BoundingBox!

TeX

最近 TeX で文章を書いていて、pdf で作成したグラフを読み込もうとしたところ、bb ファイルをちゃんと作成してたはずが、 LaTeX Error: Cannot determine size of graphic in fig2.5.pdf (no BoundingBox). というエラーに見舞われました。 いろいろと試行…

Reference class に roxygen 用のコメントを入れる方法

R

お詫び 下記の内容は不十分だったため、roxygen2 について記事を書きました。 Reference class に roxygen2 用のコメントを入れる方法 内容 Reference class を用いたパッケージの R スクリプトに roxygen 用のコメントを入れる方法を模索してみました。 S4 …

Reference class の initialize メソッドについて

R

initialize メソッドの挙動 を調べていたら、R devel の ML (Ref Classes: bug with using '.self' within initialize methods?) と TractoR というパッケージのコードを見つけ、これを参考に uninitializedField に初期値を与えてみるコードを書きました。 …

About the RcmdrPlugin.KMggplot2

I aim to make a brief version of a ggplot2 GUI-frontend "with Japanese translation (I am Japanese)." I think that the Deducer and the yeroon.net/ggplot2 is pretty good software. Currently, I'm trying to find bugs and to restructure impleme…

RcmdrPlugin.KMggplot2 について

日本語化済みの ggplot2 用の GUI フロントエンドはたぶん無いと思うので、簡易版ですがパッケージを作ってみました。 Deducer や yeroon.net/ggplot2 の様に、もっとしっかりとした良いソフトもありますので、そちらもお試しください。 しばらくはバグ探し…

RcmdrPlugin.KMggplot2_0.0-3 is on CRAN now

RcmdrPlugin.KMggplot2 (CRAN) I posted an Rcmdr plug-in for a "ggplot2" GUI front-end on CRAN. This version supports Kaplan-Meier plot and other plots as follow: Kaplan-Meier plot Show no. at risk on inside Show no. at risk table on outside…

An alternative of the base:setdiff(x, y) for list objects

Using the base::unique(x), the base::setdiff(x, y) has the same problem as follow: > unique(list(a=1,b=2,c=3,a=1)) [[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 So, I wrote an alternative of the base::setdiff(x, y) function, too. lsetdiff <- functio…

An alternative of the base:unique(x) for list objects

The base::unique(x) function returns a vector, data frame or array that were removed duplicate elements/rows. When the x is a list object, the base::unique(x) returns an unnamed list object as follow: > unique(list(a=1,b=2,c=3,a=1)) [[1]] …

リストを ... (dot-dot-dot) 引数に変換して関数を実行する方法

R

tkgrid にリストを投げるとエラーを頂戴するので、足掻いてみました。 この場合は単に do.call で OK、勉強不足でした。 require(tcltk) tt <- tktoplevel() b1 <- tkbutton(tt, text = "OK 1", command = function() tkdestroy(tt)) b2 <- tkbutton(tt, tex…

R の model.frame オブジェクトについて

R

model.frame オブジェクト model.frame オブジェクトは、R でデータとモデル式を統一的に扱うためのオブジェクトです。 実体は data.frame クラスのデータに、モデル式を含むいろいろな attributes が付加されたものです。 d <- e <- rep(1, 10) c <- 1:10 b …

コメント化・コメント解除のショートカット

SAS

小ネタ Windows 版 SAS の Enhanced Editor では、文字列を選択し "Ctrl + ?" を押すと 選択範囲をコメント化できる。 "Ctrl + Shift + ?" を押すと 選択範囲のコメントを解除できる。

reorder 関数を使って横軸の順序の並べ替えを行う方法

ggplot2 で geom_bar(stat = "identity") を利用して棒グラフを作成するときに、横軸の順序を変える方法をまとめてみます。 特に要約データなどを持っていて、ヒストグラムをプロットしたい時などに利用できるかと思います。 方法としては、データフレームに…

やっつけ jitter 関数 (箱ひげ図用)

R

ある本を読んでいたら、箱ひげ図に jitter を付加した散布図を重ねて描いていたので、再現してみようと思い適当に作りました。 散布図のプロットの際に、 近くに点があり重なりそうな場合には、jitter を強めに付加する 特に tie になる場合はちゃんと重なら…

passing parameters to ggplot

おもしろそうなコードを 教えてもらった。 require(ggplot2) DS <- data.frame(speed=rnorm(10), dist=rnorm(10)) f <- function(DS, x, y) { aes <- eval(substitute(aes(x, y), list(x = substitute(x), y = substitute(y)))) p <- ggplot(DS, aes) + geom…

FREQ procedure の sparse オプションについて

SAS

最近 FREQ procedure をよく使ってます、便利ですよね。 FREQ procedure は便利なのですが、table statement 中の out オプションで分割表の集計結果をデータセットに出力するときに、デフォルトでは度数が 0 のセルを出力してくれません。 0 セルを出力した…

RcmdrPlugin.KMggplot2_0.0-2

追記 最新バージョン (R commander 用プラグイン) が CRAN から利用できます! RcmdrPlugin.KMggplot2_0.0-3 is on CRAN now 旧バージョン RcmdrPlugin.KMggplot2_0.0-2.zip: Windows 用バイナリ (Dropbox) RcmdrPlugin.KMggplot2_0.0-2.tar.gz: Linux & Mac…

ggsave をいじって viewport で layout したファイルを保存してみよう

論文風な Kaplan-Meier plot を書いてみよう で試してみましたが、grid package の viewport を使うと、柔軟な感じにレイアウトを決めることができました。 普通に png や pdf でファイルを保存することもできますが、ggplot2 pacakge の ggsave が便利なの…

R 2.13.0 の OpenMP 関連 make マクロ

R

R 2.13.0 から OpenMP 用のマクロ SHLIB_OPENMP_CFLAGS SHLIB_OPENMP_CXXFLAGS SHLIB_OPENMP_FCFLAGS SHLIB_OPENMP_FFLAGS が Makevars ファイル中で使えるようになっていたらしい (Writing R Extensions)。パッケージの src ディレクトリ中に OpenMP に対応…

論文風な Kaplan-Meier plot を書いてみよう

追記 マウス操作のみで作図が可能な R commander 用プラグインが CRAN から利用できます! RcmdrPlugin.KMggplot2_0.1-0 is on CRAN now - Triad sou. テスト版 require(ggplot2) require(survival) `kmg2.theme_gray` <- function (base_size = 12, base_fa…

ggplot2 の geom_text() 関数で fontfamily をいじってみよう

ggplot2-0.9.x では修正済です require(ggplot2) t <- c("a", "b", "c") x <- c(1, 2, 3) y <- c(2, 2, 2) d <- data.frame(x, y, t) windowsFonts(serif = "Times New Roman") p <- ggplot(data = d, aes(x = x, y = y, label = t)) + geom_text(size = 16 …

グループ変数が沢山ある場合の統計量の計算

R

グループ変数が複数セットあり、測定値が 1 セットある様なデータに対して、標本平均、総和、標本分散、偏差平方和をたぶん高速に計算できる関数を作りました。 以前作った 高速 tapply(X, INDEX, var) もどき関数 (グループ変数が1セットで、測定値が複数セ…

R で OpenMP を使ってみよう

R

R で OpenMP を使って並列演算できるかどうか試してみたのでメモを書いておこうと思います。 まず、Windows 環境では、RTools (MinGW) で OpenMP が使えなさそう (Re: Missing libpthread in RTools) でした。 しかし、R devel - gomp library with Rtools21…

Firefox 4 で論文検索リンク 1.0

PC

Firefox Add-on の論文検索リンク 1.0を復活させよう で修正したものに加えて xpi の定義ファイルのバージョンの部分を修正しただけですが、一応おいておきます。 ダウンロード (Dropbox) 地震でメイン PC の HDD が死んで、復旧作業中。 私はこの程度で済ん…

「独立成分分析」〜多変量データ解析の新しい方法〜

SGCライブラリ 18 臨時別冊・数理科学2002年11月「独立成分分析」〜多変量データ解析の新しい方法〜サイエンス社 2002.甘利俊一, 村田昇.詳細を見る 独立成分分析の本だが、推定関数の記述が非常に良い。 中身は、一夫と次郎と花子の3人の会話で内容を解説す…

最近のブーム

最近お勉強中のものをまとめてみよう。 推定関数、推定方程式 セミパラメトリックモデル Model miss-specification KLD Missing data 因果推論 情報幾何 数値解析 今までやってきたことが、いかに貧弱で、低レベルだったかということを再認識した。