日々のつれづれ

不惑をむかえ戸惑いを隠せない男性の独り言

Tutorial

データセットについてのメモ

Rには標準でdatasetパッケージが読み込まれています。 それは関数dataで一覧を取得できます。 > sessionInfo() R version 2.14.1 (2011-12-22) Platform: i686-pc-linux-gnu (32-bit) locale: [1] LC_CTYPE=ja_JP.UTF-8 LC_NUMERIC=C [3] LC_TIME=ja_JP.UTF-…

要約関数のsummaryとtable

久しぶりにR tutorial。 summary関数 数値に使うと、最小値、四分位、平均、最大値、NAの数を要約します。 そして、数値以外の属性についてもデータセットの概観できます。 > x <- sample(10,100,replace=TRUE) > x[sample(100,10)] <- NA > > y <- data.fra…

基本統計量とか

id:bob3にコメントをいただけました。ありがとうございます。 で、修正しました。Rのデフォルトにある関数はこんな感じ。 統計量 関数名 平均 mean 分散 var 標準偏差 sd 中央値 median 最小値 min 最大値 max 範囲 range MAD(median absolute deviation) ma…

色の話・その7

以前の日記で少し前フリしていた色の話。の続き。 色は視認性が高いグラフを書くときに大切な要素 色の多用は、グラフの本質を隠してしまう 人が理解できる限界は3~4色じゃないだろうか と、思ってます。 grDevicesパッケージの話が終わったので、2つの色パ…

色の話・その6

以前の日記で少し前フリしていた色の話。の続き。 色は視認性が高いグラフを書くときに大切な要素 色の多用は、グラフの本質を隠してしまう 人が理解できる限界は3~4色じゃないだろうか と、思ってます。 grDevicesパッケージの話が終わったので、2つの色パ…

色の話・その5

以前の日記で少し前フリしていた色の話。の続き。 色は視認性が高いグラフを書くときに大切な要素 色の多用は、グラフの本質を隠してしまう 人が理解できる限界は3~4色じゃないだろうか と、思ってます。ここでは、Rを起動すると自動的に読み込まれるgrDevic…

色の話・その4

以前の日記で少し前フリしていた色の話。の続き。 色は視認性が高いグラフを書くときに大切な要素 色の多用は、グラフの本質を隠してしまう 人が理解できる限界は3~4色じゃないだろうか と、思ってます。ここでは、Rを起動すると自動的に読み込まれるgrDevic…

色の話・その3

以前の日記で少し前フリしていた色の話。の続き。 色は視認性が高いグラフを書くときに大切な要素 色の多用は、グラフの本質を隠してしまう 人が理解できる限界は3~4色じゃないだろうか と、思ってます。ここでは、Rを起動すると自動的に読み込まれるgrDevic…

色の話・その2

以前の日記で少し前フリしていた色の話。の続き。 色は視認性が高いグラフを書くときに大切な要素 色の多用は、グラフの本質を隠してしまう 人が理解できる限界は3~4色じゃないだろうか と、思ってます。 Rを起動すると、grDevicesパッケージが読み込まれて…

色の話

以前の日記で少し前フリしていた色の話。色は視認性が高いグラフを書くときに大切な要素です。 ですが、色を多用すると色彩に目が行き、グラフが持つ情報の本質がなくなってしまう。 僕もちゃんと色を使いこなせてないのですが、人が理解できる限界は3~4色じ…

グラフに文字を記入する

グラフに文字を記入したいときはtext関数とmtext関数が便利。

凡例(legend関数)について

legend関数は引数が多く、par関数でグラフィックパラメータを調整すれば、細かいアレンジができるので便利。 barplot関数のように、引数で凡例を持つ関数もある。 四隅にlegendを描きたいときは、"topleft","topright","bottomleft","bottomright"を指定する…

直線とか曲線とか・その4

arrows関数をいじって、ちょっと関数を自作した話。 これは、有意差をつける折れ線が面倒だった日記を以前しましたが、本当に面倒でした。 で、こんなもの作ってた。 有意差をつける折れ線 > sig_line <- function(x,y,h,star="*",...){ + arrows(x0=x[1],y0…

直線とか曲線とか・その3

もう少し、続き curve関数 曲線を描く関数です。関数を直接、指定できます。 座標を返すので、値が欲しいときに重宝します。 > jpeg("curve.jpg") > > par(mfrow=c(2,2)) > curve(x+1/x,main=expression(x+frac(1,x))) # defaultは0から1 > curve(sin,from=-…

直線とか曲線とか・その2

少し変わった直線は、それなりに手続きが必要になるわけですが、 matlines関数 matplot関数のlines関数になります。 > dat <- t(sapply(seq(1,8,2),function(i) sort(rnorm(4,mean=i,sd=1)))) > dimnames(dat) <- lapply(c("row","col"),paste,1:4) > > jpeg…

直線とか曲線とか

既出の関数もありますが、改めてまとめてみた。Rでは、グラフィックデバイスが開いている必要があり、上書きする関数と考えられます。 だから、直線はグラフの王道ですが、Rでは主に装飾で重宝します。 ただ、僕には引数の使い方が直感的でないように思う。 …

どうして、横幅が足りないと軸ラベルが飛ぶのか?

Rはグラフィックスペースが狭いと、軸のラベルが間引きされてしまう。 当時、何故かこのことが嫌だった。 けっこう重宝していたのですが、今思うと、何でこんなの作ったんだろう? gridBaseパッケージで軸をきれいに

ヒストグラムと箱ひげ図

今日は中休みということで、簡単なグラフを2つ。 ヒストグラムと箱ヒゲ図。

棒グラフのいろいろ・その2

実験結果を棒グラフにするとき、エラーバーを描くことが多かった。 エクセルだとオプションで追加できるから、Rで描けないとまずい。 barplot関数で描くとき これはarrows関数と組み合わせる。 > x <- matrix(sample(1:5,25,replace=TRUE),ncol=5 + ,dimname…

棒グラフのいろいろ

棒グラフは折れ線グラフに並んで良く使うグラフと思う。 でも、良く使われるからこそ、効果的に使わないと、気持ちが伝わらないんだろうな。棒グラフの使い方に悩んだこともあって、勉強もしたけど、プレゼンに生かせてない気もする。 センスの問題なのかも…

変わった散布図symbols関数、そして引数pchについて少し

Rは多様なグラフが描けるのが本当におもしろい。凝り出すときりがない。 symbol関数とpchのこと。 でも、pchはHmiscパッケージのshow.pch関数がとても便利です。 こっちにわかりやすい図がありました。Rパッケージガイドブック作者: 岡田昌史,荒木孝治,伊藤…

散布図のいろいろ・その3

Rで3Dプロット scatterplot.3d関数 3D散布図としては、これが一番お手軽と思う。

散布図のいろいろ・その2

matplot系関数 Rはやっぱり、matrixやdata.frameを使えるのことが一番便利と思っている。 だから、Rを使って「便利だな〜」と始めて思ったのが、matplot関数だったと思う。

散布図のいろいろ

Rは数値処理も優れていますが、グラフィックスが充実しているのも素晴らしいと思います。 私がRを始めたきっかけも、書きたいグラフがあって、エクセルじゃどうしても描けなかったことでした。 で、散布図ですが、plot関数がベースになっています。

エクセルファイルの読み込み

若い頃、エクセルはマックに無料でついてくるソフトだったけど、いつの間にかワードパーフェクトやパーシュエージョンを真似て、オフィスなって洒落た名前になってしまった。振り返るとすごいことだなぁって思う。 だから、Rで解析してても、エクセルをハン…

解析結果の保存と読み込み

今日はちょっと手抜きですが、オブジェクトの保存と読み込みです。Rは物理メモリで仕事をするので、大きいデータを処理しているとメモリがすぐなくなってしまう。 僕は貧乏なので、とくに深刻です。 だから、save関数とload関数にはお世話になりっぱなしです…

ファイルの読み込み

ここからは、前の記事で書いたmatrix1.txt, matrix4.txt, data.frame1.txtを使って話を進めます。Rはスプレッドファイルなら、セパレータを指定すればread.table関数で読み込むことができます。 で、セパレータはタブ区切り、コンマ区切りの場合は、専用にre…

ファイルの書き出し

Rで関数が使えるようになると、結果をファイルに書き出したり、外部からファイルを持ってきたりしたくなるはず。書き出す目的は様々ですが、誰かにファイルを渡すために書き出すことが多いような気がする。 そして、受け取った相手はエクセルを使っていたり…

function関数の使い方、その2

昨日は、あまり意味がない関数だったんで、ちょっと工夫してみる。 vector からNA を除き、上下5% を除外したmean とsd を計算する関数 > trim_mn <- function(x,alpha=.05){ # alpha=.05 がデフォルト値 + x <- sort(x) + x[1:ceiling(length(x)*alpha)] <-…

function関数の使い方

function 関数はR のコードをまとめて一つの関数を作る関数(ややこしい言い方ですが)。 Rになれてくると、ルーチン作業が増えてきて、できれば一発で終わらせたい衝動にかられます。そのとき、この処理をfunction関数でまとめることでスクリプトがシンプル…