Take Your Time

仕事や研究、コンピューターとの付き合い方

R

RstudioとRの導入

非常に簡単。 使っているOS:Ubuntu 12.04.2 LTS マシン:レノボX230 ターミナルに sudo gedit /etc/apt/sources.list を打ち込むとURLを書いたメモ帳みたいなのが出てくるので、そこから deb http://us.archive.ubuntu.com/ubuntu/ precise を選んで…

プロっぽいplot

R

ただのplotは簡単だが、あまり美しくない。しかしちょっとしたテクニックで大分かっこよくなる。 至極簡単な例をみよう。 ある店舗の車のセールスをグラフ化するとする。 cars cars2 plot(cars, type = "b", pch = 1, ylim = c(0,10), lty = 1, xlab = "", y…

attr

R

単純な回帰分析ならlm()とかglm()で処理して、texreg()で一発で論文に載せられるテフコードが出来るんだけど、texregが使えないVGAMとかは厳しい。今はboot()で標準誤差を出しているので余計ややこしい。 attr()はformulaクラスから変数とかいろいろ返してく…

tobit by vglm

R

vglmの結果をsummaryで返した時でてくるintercept1と2。1が普通の定数項で2は対数化した標準誤差(log(sigma))。

Hot deck法によるimputation

R

Rでのimputationはいろいろ方法がある。今一番流行ってるのは恐らく機会学習とやらをつかったrandomForest系のパッケージだろう。ただ、正直ベイジアンと聞いただけで身の毛のよだつ自分には厳しいので一番簡単そうなものを使った。パッケージ"StatMatch"で…

multinomial logit

R

多項ロジットは使い勝手がいいので職業選択など序列化できない選択モデルにおいてよく使われる。Rにおけるパッケージは僕の知る限りふたつあって、ひとつはたぶんフランスの経済学者のYves Croissantの"mlogit"と、たぶんNZの生物学者のThomas Yeeの"VGAM"が…

プロットの横軸の名前を変える。

R

xaxt = "n"を使うと消える。 axisで任意の名前をつける。(例)plot(seq(1,5),nurs.table[4,2:6],type = "b", col="black",ylim=c(0,.25), xlab = "", ylab="",pch = 1,xaxt = "n") par(new = T) plot(seq(1,5),nurs.table.f[4,2:6],type = "b", lty = 1,col…

bandplot

R

些細な事であるが、bandplotで点を消したい場合、bandplot(... pch=NA)と指定すれば消える。

EPSとの戦い

package gplot()のbandplot()が非常に使いやすいので調子に乗って使っていたのだが、いざlatexに乗せると文字が小さすぎてひどいことに。 そもそもRはjpegもつくってくれるので、jpegで作図して\includinggraphicsをやっていたのだが、やはり汚い。 仮想プリ…

Rの回帰分析の結果をLaTexに変換する

回帰分析結果をtex形式で打ち出すために、Rにはlatex()やxtableなどのコマンドが用意されているのだが、texregという最強パッケージを発見した。詳細はhttp://cran.r-project.org/web/packages/texreg/vignettes/texreg.pdf。 とにかく簡単。単純にインスト…

コメントアウト

よく忘れるので。 R: if(0){ コメントアウト } Latex: \usepackage{comment}\begin{comment} コメントアウト \end{comment} Matlab: %{ コメントアウト %}

Rでordered probit

R

Rでordered probitは簡単。library(MASS)を使用して、被説明変数をファクターに変換するだけ(普通の値だとエラー)。 (例)

hist, lines, density, fitdistr()

R

マイクロデータの粗粗の分析方法。 1.hist()でヒストグラムを書く。 2.plot(density())でEDFを書いてみる。 3.fitdistr()でパラメータ推定してみる *libraryからMASS必須 5.2.で書いたグラフにline()でパラメタライズした分布関数を重ねて当てはま…

欠損値の処理、is.na()とifelse()

R

クリーニングされてないデータに欠かせない欠損値(NA)。 とりあえずこいつを飛ばして計算したいならis.na()とifelse()が便利。 例えば、 > a=c(1,NA,0,3) > a [1] 1 NA 0 3 > ifelse(is.na(a),0,a) [1] 1 0 0 3 こんな感じ。 否定形にしたければ!is.na()を…

Rでデータ解析

R

最近データ解析でRにお世話になっている。といっても大量のヒストグラムを作っているだけだが。 基本的な使い方は公式の他、、ここやここでだいたい網羅されると思う。 もう少し独自の解析(imputation)をはじめたら自分も記事を書きたい。

時系列(ts)

R

新しいデータフレーム = ts(データフレーム名, frequency = 4, start = c(1980,2))。 これで1980年第二四半期からの時系列データができる。月次ならfrequency = 12、年次なら1。日次データはas.Dateコマンドを使う。 プロットは、ts.plot(データ)で。

latex

R

latexコマンドは、Rの結果をテフ形式で出力する。パッケージHmiscをインストールしてlibrary(Hmisc)。

melt

R

meltはクロスセクションデータを分解するときにつかう。meltを使うためにはreshapeパッケージが必要。reshapeをインストールして、library(reshape)で使用可能。 (例) データ名