• 検索結果がありません。

Version Priority base Title The R Graphics Package Author R Core Team and contributors worldwide Package graphics September 14, 2016 Maintainer

N/A
N/A
Protected

Academic year: 2021

シェア "Version Priority base Title The R Graphics Package Author R Core Team and contributors worldwide Package graphics September 14, 2016 Maintainer"

Copied!
144
0
0

読み込み中.... (全文を見る)

全文

(1)

Package ‘graphics’

September 14, 2016

Version 3.3.1 Priority base

Title The R Graphics Package

Author R Core Team and contributors worldwide Maintainer R Core Team<[email protected]> Description R functions for base graphics.

Imports grDevices License Part of R 3.3.1

R topics documented:

graphics-package . . . 3 abline . . . 3 arrows . . . 5 assocplot . . . 6 Axis . . . 7 axis . . . 8 axis.POSIXct . . . 11 axTicks . . . 12 barplot . . . 14 box . . . 17 boxplot . . . 18 boxplot.matrix . . . 21 bxp . . . 22 cdplot . . . 25 clip . . . 27 contour . . . 28 convertXY . . . 31 coplot . . . 32 curve . . . 34 dotchart . . . 36 filled.contour . . . 38 fourfoldplot . . . 40 frame . . . 42 grid . . . 43 hist . . . 44 hist.POSIXt . . . 47 1

(2)

2 R topics documented: identify . . . 48 image . . . 51 layout . . . 53 legend . . . 55 lines . . . 60 locator . . . 61 matplot . . . 62 mosaicplot . . . 65 mtext . . . 68 pairs . . . 69 panel.smooth . . . 72 par . . . 73 persp . . . 82 pie . . . 85 plot . . . 87 plot.data.frame . . . 89 plot.default . . . 90 plot.design . . . 92 plot.factor . . . 94 plot.formula . . . 95 plot.histogram . . . 96 plot.raster . . . 98 plot.table . . . 99 plot.window . . . 100 plot.xy . . . 101 points . . . 102 polygon . . . 106 polypath . . . 108 rasterImage . . . 109 rect . . . .111 rug . . . 112 screen . . . 113 segments . . . .115 smoothScatter . . . 116 spineplot . . . 118 stars . . . 121 stem . . . 124 stripchart . . . .125 strwidth . . . 127 sunflowerplot . . . 128 symbols . . . 131 text . . . .133 title . . . .135 units . . . 137 xspline . . . 138 Index 141

(3)

graphics-package 3

graphics-package The R Graphics Package

Description 基本グラフィックスに対する R 関数. Details このパッケージは‘基本’グラフィックスに対する関数を含む.基本グラフィックスはよ り新しいgridグラフィックスに対抗する伝統的な S 風グラフィックスである. 個々のヘルプページを持つ関数の完全なリストについては library(help = "graphics") を使う. Author(s) R Core Team と世界中の貢献者.

Maintainer: R Core Team<[email protected]> References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press.

abline Add Straight Lines to a Plot

Description

この関数は現在のプロットに一つもしくはそれ以上の直線を加える.

Usage

abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL, coef = NULL, untf = FALSE, ...)

Arguments a, b 切片と傾き,単一の値の組. untf 無変換を指示する論理値.‘詳細’見よ. h 水平線に対する y 値. v 垂直線に対する x 値. coef 切片と傾きを与える長さ 2 のベクトル. reg coefメソッドを持つオブジェクト.‘詳細’を見よ. ... col, lty や lwd のようなグラフィックスパラメータ(ベクトルでも良い.

(4)

4 abline Details

典型的な用法は

abline(a, b, untf = FALSE, ...) abline(h =, untf = FALSE, ...) abline(v =, untf = FALSE, ...) abline(coef =, untf = FALSE, ...) abline(reg =, untf = FALSE, ...)

最初の形式は直線を切片/傾き形式で指定する (別法として切片と傾きをベクトル形式で 含む a だけを指定できる). h= と v= 形式は指定座標の水平線と垂直線を描く. coef 形式は傾きと切片を含むベクトルで直線を指定する. reg はcoefメソッドを持つ回帰オブジェクトである.もしこれが長さ 1 のベクトルを返 せば,その値は原点を通る直線の傾きとされる.さもなければ最初の二つの値は切片と 傾きとされる. もしuntf が真で,一つもしくは双方の軸が対数軸であれば,元の座標システムでの直線 に対応する曲線が描かれる.さもなければ変換座標での直線が描かれる. h と v パラメ ータは常に元の座標を参照する.

作図パラメータ col, lty そして lwd が指定できる;詳細はparを見よ. h= と v= の使用

では,それらは長さが 1以上のベクトルでもよく,必要ならリサイクル使用される.

クリップ用のxpd 引数の使用はさもなければ使われる大局的なpar("xpd") 設定を上書き する.

References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press. See Also

端点で与えられる連結した任意の直線に対してはlinesとsegmentspar. Examples

## 座標系の設定(アスペクト比 x == y):

plot(c(-2,3), c(-1,5), type = "n", xlab = "x", ylab = "y", asp = 1) ## x,y 軸と整数グリッド

abline(h = 0, v = 0, col = "gray60")

text(1,0, "abline( h = 0 )", col = "gray60", adj = c(0, -.1)) abline(h = -1:5, v = -2:3, col = "lightgray", lty = 3) abline(a = 1, b = 2, col = 2)

text(1,3, "abline( 1, 2 )", col = 2, adj = c(-.1, -.1)) ## 簡単な回帰直線:

require(stats)

sale5 <- c(6, 4, 9, 7, 6, 12, 8, 10, 9, 13) plot(sale5)

abline(lsfit(1:10, sale5))

(5)

arrows 5 z <- lm(dist ~ speed, data = cars)

plot(cars)

abline(z) # abline(reg = z) 又は次に等しい abline(coef = coef(z))

## 自明な切片モデル

abline(mC <- lm(dist ~ 1, data = cars)) ## 次と同じ abline(a = coef(mC), b = 0, col = "blue")

arrows Add Arrows to a Plot

Description

点の対の間に矢印を描く. Usage

arrows(x0, y0, x1 = x0, y1 = y0, length = 0.25, angle = 30, code = 2, col = par("fg"), lty = par("lty"),

lwd = par("lwd"), ...) Arguments x0, y0 そこから矢印を描く点の座標. x1, y1 そこまで矢印を描く点の座標.少なくとも一つを与える必要がある. length 矢尻の長さ(インチ単位). angle 矢尻の辺と軸の間の角度. code 整数コード,描かれる矢印の種類を決める.

col, lty, lwd グラフィックスパラメータ,ベクトルでも良い. col 中の NA 値は矢印 を描かない.

... xpd そして特性 lend, ljoin や lmitre といったグラフィックスパラメー

タ:par見よ. Details

各 i に対して点 (x0[i], y0[i]) と点 (x1[i], y1[i]) の間に矢印を描く.座標ベクトル

最長の長さまでリサイクルされる.

もしcode = 1 なら矢尻は (x0[i], y0[i]) に描かれ,そしてもし code = 2 なら矢尻は (x1[i], y1[i]) に描かれる.もし code = 3 なら矢尻は両端に描かれる. length = 0 な らば矢尻は描かれない. グラフィックスパラメータcol, lty そして lwd は長さ 1 以上のベクトルでもよく,必要 ならリサイクルされる. 長さゼロの矢印の方向は決定できず,従って矢尻の方向も決められない.丸め誤差を許 すために,長さが 1/1000 インチ未満の矢印には(警告と共に) 矢尻は描かれない. Note 比較される S 関数では最初の四つの引数は x1, y1, x2, y2 という名前を持つ.

(6)

6 assocplot References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

分を描くにはsegments. Examples

x <- stats::runif(12); y <- stats::rnorm(12) i <- order(x, y); x <- x[i]; y <- y[i] plot(x,y, main = "arrows(.) and segments(.)") ## 点から点へ矢印を描く:

s <- seq(length(x)-1) # データより一つ短い arrows(x[s], y[s], x[s+1], y[s+1], col = 1:3) s <- s[-length(s)]

segments(x[s], y[s], x[s+2], y[s+2], col = "pink")

assocplot Association Plots

Description

2次元分割表の行と列の独立性からの偏りを示す Cohen-Friendly のアソシエーションプロ

ットを作る.

Usage

assocplot(x, col = c("black", "red"), space = 0.3, main = NULL, xlab = NULL, ylab = NULL) Arguments x 行列形の2次元分割表. col それぞれ正と負のペアソン残差を描く色に使われる長さ2の文字列ベク トル. space (矩形の幅と高さの平均の比としての)各矩形の間に残される隙間の量. main プロットに対する全体的なタイトル. xlab x軸に対するラベル.既定では(もしあれば) x 中の行次元の名前. ylab y軸に対するラベル.既定では(もしあれば) x 中の列次元の名前. Details 2元分割表に対しては,セル i, j に対するペアソンの χ2 への符号付き寄与は dij = (fij− eij)/ √ eij である,ここで fij と eij はセルに対応する観測と期待カウントである. Cohen-Friendly のアソシエーションプロットでは,各セルは dij に比例する(符号付き)高 さと,√eij に比例する幅を持つ矩形で表現されるので,箱の面積は観測度数と期待度 数の差に比例する.各行中の矩形は独立(dij = 0)を意味する基本線に相対的に置かれる. もしセルの観測度数が期待度数よりも大きければ,箱は基本線の上に立ち col の最初の

(7)

Axis 7 要素で指定される色で塗りつぶされ,既定色は黒である;さもなければ箱は基本線の下

にぶら下がり col の二番目の要素で指定される色で塗りつぶされ,既定色は赤である.

グリッドグラフィックスシステムで書かれたより柔軟なアソシエーションプロットの移 植が貢献パッケージvcd(Meyer, Zeileis and Hornik, 2005)中の関数assocに与えられてい る.

References

Cohen, A. (1980), On the graphical display of the significant components in a two-way contingency table. Communications in Statistics—Theory and Methods, A9, 1025–1041.

Friendly, M. (1992), Graphical methods for categorical data. SAS User Group International Confer-ence Proceedings, 17, 190–200.http://www.math.yorku.ca/SCS/sugi/sugi17-paper.html Meyer, D., Zeileis, A., and Hornik, K. (2005) The strucplot framework: Visualizing multi-way con-tingency tables with vcd. Report 22, Department of Statistics and Mathematics, Wirtschaftsuni-versität Wien, Research Report Series. http://epub.wu.ac.at/dyn/openURL?id=oai:epub.

wu-wien.ac.at:epub-wu-01_8a1 See Also mosaicplot,chisq.test. Examples ## 性に関して累計: x <- margin.table(HairEyeColor, c(1, 2)) x

assocplot(x, main = "Relation between hair and eye color")

Axis Generic Function to Add an Axis to a Plot

Description

現在のプロットに適当な軸を加える総称的関数. Usage

Axis(x = NULL, at = NULL, ..., side, labels = NULL) Arguments x 軸が引かれる範囲を指示するオブジェクト. at チックマークが描かれる点. side プロットのどの側に軸を描くかを指示する整数.軸は次のように置か れる: 1=下側,2=左側,3=上側,そして 4=右側. labels これはチックマーク位置に(数値の)注釈を行うことを指示する論理値で も,チック点に置かれる文字列もしくは表現式のラベルのベクトルで も良い.もしこれが文字列又は表現式のベクトルとして指定されると at を提供すべきで同じ長さでなければならない. ... メソッドに渡され,恐らくそれからaxis渡される引数.

(8)

8 axis Details これは総称的関数である.これは少々標準的ではない仕方で動作する:もし x が提供さ れ NULL でなければそれはx に関してメソッドを選択適用し,さもなければ,もし at が 提供され NULL でなければそれは at に関してメソッドを選択適用し,そして既定動作 はaxisを引数 x を除いて呼び出す. アイデアは一方もしくは双方の軸が数値であるが特殊な解釈を持てば,標準的なプ

ロット関数 (boxplot,contour,coplot,filled.contour,pairs,plot.default,rugそして

stripchartを含む)がユーザ座標を設定し,それから Axis がそれらのラベルを適当に付 けるために呼び出される,ということである.

"Date" と "POSIXt" メソッドがあり,それらは引数 format を適当な axis メソッドに渡 す(axis.POSIXctを見よ). Value プロットが最初に描かれる時 (‘詳細’を見よ)にチックマークが描かれる軸スケール上の 位置の数値. この関数は普通その副作用のために起動され,既存のプロットに軸を加える. See Also axis.

axis Add an Axis to a Plot

Description

現在のプロットに軸を加える.側面,位置,ラベル,そしてその他のオプションの指定 が許される.

Usage

axis(side, at = NULL, labels = TRUE, tick = TRUE, line = NA, pos = NA, outer = FALSE, font = NA, lty = "solid", lwd = 1, lwd.ticks = lwd, col = NULL, col.ticks = NULL, hadj = NA, padj = NA, ...)

Arguments side プロットのどの側に軸を描くかを指定する整数.軸は次のように置か れる:1=下側,2=左側,3=上側,そして 4=右側. at チックマークを描く点.非有限値 (無限,NaN 又は NA)は除かれる.既定 では (NULL の時)チックマーク位置は計算される,下の ‘詳細’を見よ. labels これは(数値)注釈をチックマークにするかどうかを指定する論理値か, チック点に置かれるラベルの文字列ベクトルか表現式ベクトルのどち らかである. (他のオブジェクトはas.graphicsAnnotで強制変換され る.) もしこれが論理値でなければ,at がまた提供されるべきで同じ長 さでなければならない.もしlabels が変換後に長さがゼロならば,そ れはTRUE を提供するのと同じ効果を持つ.

(9)

axis 9 tick チックマークと軸線を描くべきかを指定する論理値. line もしNA で無ければ,軸線がそこに引かれる余白の線の数. pos 軸線が描かれる座標: NA でなkればこれは line の値を上書きする. outer 標準的なプロットマージンの代わりに,軸をプロットマージンの外側 に描かれるべきかどうかを指示する論理値. font テキスト用のフォント.既定は par("font"). lty 軸とチックマーク双方に対する線種. lwd, lwd.ticks 軸線とチックマーク用の線幅.ゼロや負の値は線やチックを抑制す る.

col, col.ticks それぞれ軸線とチックマークに対する色. col = NULL は par("fg")

使用を意味し,インラインで指定されているかもしれない.そして

col.ticks = NULL は col が決定するどんな色も使うことを意味する. hadj 読み取る方向に対して平行(‘水平’) な全てのラベルに対する補正(par("adj")

見よ).もしこれが有限な値でなければ,既定値が使われる(軸に対し て平行な文字列に対してはセンタリングし,さもなければ軸に最も近 い端で揃える). padj 読み取る方向に垂直な各チックマークに対する補正.軸に平行なラベ ルに対しては padj = 0 は右又は上揃えを,padj = 1 は左又は下揃えを 意味する.これは各文字列に対する値のベクトルであってよく,必要 ならリサイクルされる. もしpadj が有限な値(既定)なら, par("las") の値が補正を決定する. 軸に垂直にプロットされる文字列に対しては既定は文字列のセンタリ ングである. ... 他のグラフィックパラメータを又この関数に渡すことが出来る.特に

軸注釈に対する cex.axis, col.axis そして font.axis,位置決めに対す るmgp と xaxp 又は yaxp,チックマークの長さと方向に対する tck 又は tcl,垂直/水平のラベル方向に対する las,又は col の代わりの fg,そ してクリッピングに対する xpd.これらについてはparを見よ. パラメータxaxt (側面 1 と 3) と yaxt (側面 2 と 4)は軸をそもそも描く かどうかを制御する. 後者がまた提供されていない限り lab は引数 labels に部分マッチする. (既定の軸はplot.windowにより既に設定されているので,lab は axis により決定されない.) Details 軸線は at の最低から最高の値まで描かれるが,プロット領域でクリップされる.既定で は,(丸め誤差の許容度の範囲内で) プロット領域内の点から描かれたチックだけがプロ ットされるが,チックやそれらのラベルはプロット領域の外部にはみ出しているかもし れない.xpd = TRUE や xpd = NA の使用は軸を更に延長することを許す.

at = NULL の時,見栄えの良いチックマーク位置は内部的に(axTicks(side) がするよう に)par("xaxp") 又は "yaxp" とpar("xlog") (もしくは "ylog") から計算される.これら

位置はスクリーン上のプロットがリサイズされると変化するかもしれないことを注意

しよう(例えば,もし plot の引数 asp (plot.windowを見よ)が設定された時).

もしlabels が指定されないと,提供されたり at から計算された数値があたかも

print.default(digits = 7) でプリントされた数値ベクトルであるかのように文字列に 変換される.

コードはチックラベルが重ならないように努力するので,既に書かれたラベルに寄りか

(10)

10 axis

果になる. (チックは左から右へ,又は下から上へ描かれ,少なくとも ‘m’ のスペース

がラベル間に残される.)

もしline か pos が設定されていると,それらは (par("mgp")[3] ではなく)軸行やチック位置を決定する.そしてチックラベルは更に par("mgp")[2] 行マージン中 (pos に対し ては又はマージン方向)に置かれる. グラフィックパラメータの幾つかは軸が描かれる仕方に影響を与える.軸の垂直(側 面 1 と 3)位置とチックラベルは mgp[2:3] と mex で制御され,チックのサイズと方向は tck と tcl で制御され,チックラベルの見かけは cex.axis で, col.axis と方向を持つ font.axis は las で制御される(しかし srt は違う,これは at が与えられれば srt さもな ければlas を使う S とは異なる). adj はサポートされずラベルは中心化されることを注 意しよう.詳細はparを見よ. Value プロットが最初に描かれる時(‘詳細’を見よ),チックマークがそこに描かれる軸スケール での数値位置. この関数は普通,既存のプロットに軸を加えるというその副作用のために起動される, References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

包括的なインタフェイスについてはAxis.

axTicksはat = NULL に対応する軸チック位置を返す;pretty見栄えの良いチック座 標の計算のためにより柔軟である.そして使用中の座標システムに依存 (それどころか 適応も)していない.

外見に影響する幾つかのグラフィックパラメータのドキュメントがparにある.

Examples

require(stats) # rnorm のため plot(1:4, rnorm(4), axes = FALSE) axis(1, 1:4, LETTERS[1:4]) axis(2)

box() #- それを"普通のように"するため

plot(1:7, rnorm(7), main = "axis() examples",

type = "s", xaxt = "n", frame = FALSE, col = "red") axis(1, 1:7, LETTERS[1:7], col.axis = "blue")

# unusual options:

axis(4, col = "violet", col.axis = "dark violet", lwd = 2) axis(3, col = "gold", lty = 2, lwd = 0.5)

# 独自の x 軸を持つ一つの方法 plot(1:10, xaxt = "n") axis(1, xaxp = c(2, 9, 7))

(11)

axis.POSIXct 11

axis.POSIXct Date and Date-time Plotting Functions

Description

暦日と時刻を表すクラス "POSIXlt", "POSIXct" そして "Date"のオブジェクトをプロット する関数.

Usage

axis.POSIXct(side, x, at, format, labels = TRUE, ...) axis.Date(side, x, at, format, labels = TRUE, ...) Arguments x, at 日付・時刻又は日付オブジェクト. side axisを見よ. format strptimeを見よ. labels チックマークに注釈をするかどうかを指示する論理値か,チック点に 置かれる文字列ベクトル. ... 他のメソッドに・から渡される追加引数,典型的にグラフィックパラ メータ. Details axis.POSIXct と axis.Date は適切な時間単位(年,月,日,時,分又は秒)と意味のある 出力書式の選択を懸命に探すが,しかしこれは format の指定で上書きすることが出来 る. もしat が提供されるとそれはチックの位置とラベルを指示する.一方 x が指定されると 適当なラベルのグリッドが選択される.チックラベルのプリントは labels = FALSE の使 用で抑制できる. "POSIXct" 入力に対する日付・時刻は,もしあれば "tzone" で与えられるタイムゾーン 中で解釈される.さもなければ現在のタイムゾーンでなされる. 日付・時刻(特に月名)が表現される仕方はカテゴリ "LC_TIME" の局所的設定で制御され る(Sys.setlocaleを見よ). Value チックマークが描かれる軸スケールでの位置. See Also クラスの詳細はDateTimeClasses,Dates. Axis.

(12)

12 axTicks Examples

with(beaver1, {

time <- strptime(paste(1990, day, time %/% 100, time %% 100), "%Y %j %H %M")

plot(time, temp, type = "l") # 4 時間毎の軸. # 時間軸の全ての時刻のラベルを付ける

plot(time, temp, type = "l", xaxt = "n") r <- as.POSIXct(round(range(time), "hours"))

axis.POSIXct(1, at = seq(r[1], r[2], by = "hour"), format = "%H") })

plot(.leap.seconds, seq_along(.leap.seconds), type = "n", yaxt = "n", xlab = "leap seconds", ylab = "", bty = "n")

rug(.leap.seconds) ## もしくは日付として

lps <- as.Date(.leap.seconds) plot(lps, seq_along(.leap.seconds),

type = "n", yaxt = "n", xlab = "leap seconds", ylab = "", bty = "n")

rug(lps)

## 10 週周期の 100 個の無作為日付

random.dates <- as.Date("2001/1/1") + 70*sort(stats::runif(100)) plot(random.dates, 1:100)

# 又はより良い軸レベルのために plot(random.dates, 1:100, xaxt = "n")

axis.Date(1, at = seq(as.Date("2001/1/1"), max(random.dates)+6, "weeks")) axis.Date(1, at = seq(as.Date("2001/1/1"), max(random.dates)+6, "days"),

labels = FALSE, tcl = -0.2)

axTicks Compute Axis Tickmark Locations

Description

R が内部的に行うのと同じ仕方で見栄えの良いチックマーク位置を計算する.これは対

数座標が使われている時だけ自明でない.既定ではaxis(side) が使う at 位置を返す.

Usage

axTicks(side, axp = NULL, usr = NULL, log = NULL, nintLog = NULL) Arguments

side axisに対するような 1:4 中の整数.

axp 長さ 3 の数値ベクトル.既定では side 引数に依存してpar("xaxp") か

par("yaxp")(もし side が 1 か 3 ならば par("xaxp") で,もし side が 2 か 4 ならばpar("yaxp")).

usr ユーザ座標の限界を与える長さ 2 の数値ベクトル.既定ではpar("usr") の関連する部分 (side が (1,3) か (2,4) 中ならそれぞれ par("usr")[1:2] またはpar("usr")[3:4].

(13)

axTicks 13

log 対数軸が使われているかどうかを指示する論理値;既定では side に依

存してpar("xlog") かpar("ylog").

nintLog (log が真の時だけ使われる):近似的なチック区間数 (の下限);既定

ではpar("lab")[j] で,ここで j は side に依存して 1 か 2.もし初 期(2.14.x 以前)の R バージョンと同じ挙動が必要ならこれを Inf にす る.

Details

axp, usr そして log 引数はそれらの既定値 (par(..) の結果)と一貫性が無ければならな

い.もし三つ全てを指定(非 NULL で)すれば,グラフィックス環境は全く使われない.

axp の意味は log が TRUE の時は相当異なることを注意しよう;par(xaxp = .) に対する

ドキュメントを参照.

axTicks() は ‘..../src/main/plot.c’ 中の C 関数 CreateAtVector() へのインタフェイス として使える.これは at 引数が指定されないとaxis(side, *) により呼び出される.微 妙なケース log = TRUE は.後方互換性のために存在する nintLog = Inf でなければ,今 やaxisTicks(パッケージ grDevices中)を使う. Value 軸チックマークを置くことが出来る座標値の数値ベクトル.既定では,最初の引数だけ が指定された時は,これらの値はaxis(side) を使うもしくは使われた時のそれと同じに なるべきである.usr が減少順ならば値は減少順(“逆軸”ケース). See Also

axis,par.prettyは同じアルゴリズム(しかしグラフィックス環境とは独立に)を使い,よ り多くのオプションを持つ.しかしながらこれは log = TRUE に対しては利用できない. axisTicks() (パッケージ grDevices). Examples plot(1:7, 10*21:27) axTicks(1) axTicks(2) stopifnot(identical(axTicks(1), axTicks(3)), identical(axTicks(2), axTicks(4))) ## axTicks() と axis() がどの様に対応するかを示す: op <- par(mfrow = c(3, 1)) for(x in 9999 * c(1, 2, 8)) { plot(x, 9, log = "x")

cat(formatC(par("xaxp"), width = 5),";", T <- axTicks(1),"\n") rug(T, col = adjustcolor("red", 0.5), lwd = 4)

} par(op)

x <- 9.9*10^(-3:10) plot(x, 1:14, log = "x")

axTicks(1) # 長さは 5,R <= 2.13.x では次を与えた axTicks(1, nintLog = Inf) # かなり多い

## 既存のプロットへの参照なしに axTicks() を使う例 ## (R の軸範囲等の設定の内部手続きをコピー),

(14)

14 barplot ## axp, usr, log, nintLog 全てを補う必要がある

## 標準対数 y 軸ラベル ylims <- c(0.2, 88)

get_axp <- function(x) 10^c(ceiling(x[1]), floor(x[2])) ## par("yaxs") == "i" を模倣

usr.i <- log10(ylims)

(aT.i <- axTicks(side = 2, usr = usr.i,

axp = c(get_axp(usr.i), n = 3), log = TRUE, nintLog = 5)) ## (既定の) par("yaxs") == "r" を模倣

usr.r <- extendrange(r = log10(ylims), f = 0.04) (aT.r <- axTicks(side = 2, usr = usr.r,

axp = c(get_axp(usr.r), 3), log = TRUE, nintLog = 5)) ## 上手くいっていることを確認:

plot(0:1, ylims, log = "y", yaxs = "i") stopifnot(all.equal(aT.i, axTicks(side = 2))) plot(0:1, ylims, log = "y", yaxs = "r") stopifnot(all.equal(aT.r, axTicks(side = 2)))

barplot Bar Plots

Description

垂直と水平のバーを持つバープロットを作る. Usage

barplot(height, ...) ## Default S3 method:

barplot(height, width = 1, space = NULL,

names.arg = NULL, legend.text = NULL, beside = FALSE, horiz = FALSE, density = NULL, angle = 45,

col = NULL, border = par("fg"),

main = NULL, sub = NULL, xlab = NULL, ylab = NULL, xlim = NULL, ylim = NULL, xpd = TRUE, log = "", axes = TRUE, axisnames = TRUE,

cex.axis = par("cex.axis"), cex.names = par("cex.axis"), inside = TRUE, plot = TRUE, axis.lty = 0, offset = 0, add = FALSE, args.legend = NULL, ...)

Arguments height プ ロ ッ ト を作り上げるバーを記述する値のベクトルか行列. もし height がベクトルならば,プロットはベクトル中の値で与えられる 高さの矩形のバーの系列からなる.もし height が行列で beside が FALSE ならプロットの各バーは height の列に対応し,列中の値はバー を組み立てる積み立てられた副バーの高さを与える.もし height が行 列で beside が TRUE ならば,各列中の値は積み重ねられる代わりに並 置される.

(15)

barplot 15 width バーの幅のオプションのベクトル.描かれるバーの数の長さにリサイ クルされる.単一の値を指定するのは xlim が指定されていない限り目見える効果はない. space 各バーの前に残されるスペース量 (バー幅の平均の割合として).単一 の数として与えたりバー毎に与えることが出来る.もし height が行列

beside が TRUE ならば,space は二つの数で指定されるかもしれな

い.ここで最初は同じグループ中のバーの間のスペースで,二番目は

グループ間のスペースである.もし明示的に与えられなければ,その 既定値は,もしheight が行列で beside が TRUE ならば,c(0,1) になる. さもなければ 0.2 になる. names.arg 各バーかバーのグループの下にプロットされる名前のベクトル.もし この引数が省略されると,もし height がベクトルならば名前はその names 属性から取られ,もしそれが行列なら列名から取られる. legend.text プロットに対する凡例を構成するために使われるテキストのベクトル, または凡例を含めるべきかどうかを指示する論理値.これは height が 行列の時だけ役に立つ.その場合与えられた凡例ラベルは height の行 に対応すべきである;もし legend.text が真なら height の列名はそれ らが null で無い限りラベルとして使われる.

beside 論理値.もし FALSE なら, height の列は積み重ねたバーとなり,そし

てもしTRUE ならば列は並置されたバーとなる. horiz 論理値.もし FALSE なら,バーは最初が左側になるように垂直に描か れる.もしTRUE なら,バーは最初が底になるように水平に描かれる. density バーもしくはバー成分に対する陰影線の密度を与えるベクトル.単位 はインチあたりの線数.既定値 NULL は陰影線を描かないことを意味す る.正でないdensity の値も陰影線を描かない. angle バーもしくはバー成分に対して影を付ける線の傾きで度単位の角度 (反 時計回り)で与えられる. col バー又はバー成分に対する色のベクトル.既定ではもし height がベク トルなら灰色が使われ, height が行列ならガンマ補正された灰色のパ レットが使われる. border バーの輪郭に使われる色.輪郭を描かないためには border = NA を使 う.もし陰影線があれば, border = TRUE は陰影線と同じ色を輪郭線使うことを意味する. main,sub プロットの全体とサブのタイトル. xlab x軸に対するラベル. ylab y軸に対するラベル. xlim x軸に対する限界. ylim y軸に対する限界. xpd 論理値.バーが領域の外に出ても良いか? log 軸のスケールを対数メモリにするかどうかを指定する文字列;plot.default を見よ.

axes 論理値.もし TRUE なら垂直 (又はもし horiz が真なら水平)軸が描かれ

る.

axisnames 論理値.もし TRUE で,もし names.arg (上を見よ)があれば,他の軸が 描かれ (lty = 0 で)ラベルが付けられる.

(16)

16 barplot

cex.names 軸名(バーラベル)に対する拡大因子.

inside 論理値.もし TRUE なら,隣り合った (積み重ねられたものではない!)バ

ーを分割する線が描かれる. space = 0 の時 (beside = TRUE の時は部 分的にそうなる) だけ適用される. plot 論理値.もし FALSE なら何もプロットされない. axis.lty カテゴリカル(既定では水平)な軸の軸とチックマークに適用されるグラ フィックパラメータlty.既定では軸は描かれないことを注意しよう. offset バーが x軸に対してどれだけシフトされるべきかを指示するベクト ル. add バーが既にあるプロットに加えられるべきかどうかを指示する論理値; 既定では FALSE. args.legend legend() に渡される追加引数のリスト;リストの名前は引数名として 使われる. legend.text が与えられた時だけ使われる. ... 他のメソッドに・から渡される追加の引数.既定のメソッドに対して

は,これらはplot.window(),title() そしてaxis渡される追加の引 数 (axes, asp そして main) やグラフィックパラメータ (par見よ) を含む ことが出来る. Details これは総称的関数であり,現在既定のメソッドだけを持つ.いつか公式インタフェイス が加えられるかもしれない. Value 数値ベクトル(又は beside = TRUE の時は行列),例えば mp とする,で描かれる全てのバ ーの中点の座標を与え,グラフに付け加えるのに有用である. もしbeside が真ならバーの各グループの中点として colMeans(mp) を使う,例を見よ. References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press. See Also

plot(..., type = "h"),dotchart,hist. Examples

require(grDevices) # 色のために

tN <- table(Ni <- stats::rpois(100, lambda = 5)) r <- barplot(tN, col = rainbow(20))

#- type = "h" plotting *is* 'bar'plot

lines(r, tN, type = "h", col = "red", lwd = 2) barplot(tN, space = 1.5, axisnames = FALSE,

sub = "barplot(..., space= 1.5, axisnames = FALSE)") barplot(VADeaths, plot = FALSE)

(17)

box 17

mp <- barplot(VADeaths) # 既定 tot <- colMeans(VADeaths)

text(mp, tot + 3, format(tot), xpd = TRUE, col = "blue") barplot(VADeaths, beside = TRUE,

col = c("lightblue", "mistyrose", "lightcyan", "lavender", "cornsilk"),

legend = rownames(VADeaths), ylim = c(0, 100)) title(main = "Death Rates in Virginia", font.main = 4) hh <- t(VADeaths)[, 5:1]

mybarcol <- "gray20"

mp <- barplot(hh, beside = TRUE,

col = c("lightblue", "mistyrose", "lightcyan", "lavender"),

legend = colnames(VADeaths), ylim = c(0,100), main = "Death Rates in Virginia", font.main = 4,

sub = "Faked upper 2*sigma error bars", col.sub = mybarcol, cex.names = 1.5)

segments(mp, hh, mp, hh + 2*sqrt(1000*hh/100), col = mybarcol, lwd = 1.5) stopifnot(dim(mp) == dim(hh)) # corresponding matrices

mtext(side = 1, at = colMeans(mp), line = -2,

text = paste("Mean", formatC(colMeans(hh))), col = "red") # 陰影付きのバーの例

barplot(VADeaths, angle = 15+10*1:5, density = 20, col = "black", legend = rownames(VADeaths))

title(main = list("Death Rates in Virginia", font = 4)) # 輪郭:

barplot(VADeaths, border = "dark blue") # 対数スケール(ここではあまり意味がない): barplot(tN, col = heat.colors(12), log = "y") barplot(tN, col = gray.colors(20), log = "xy") # args.legend barplot(height = cbind(x = c(465, 91) / 465 * 100, y = c(840, 200) / 840 * 100, z = c(37, 17) / 37 * 100), beside = FALSE, width = c(465, 840, 37), col = c(1, 2), legend.text = c("A", "B"),

args.legend = list(x = "topleft"))

box Draw a Box around a Plot

Description

この関数は与えられた色と線種で現在のプロットの周囲に箱を描く. bty パラメータは

(18)

18 boxplot Usage

box(which = "plot", lty = "solid", ...) Arguments

which 文字列,"plot", "figure", "inner" そして "outer" の一つ.

lty 箱の線種.

... 追加のグラフィックパラメータ,bty, col 又は lwd 等,parを見よ.ク

リップは常にデバイス領域用であるので xpd は受け付けられないこと を注意する. Details 色の選択は複雑である. もし col が提供され NA で無ければ,それが使われる. さ もなければ,もしfg が与えられ NA でなければそれが使われる.最終的な既定値は par("col"). References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

任意の矩形を描くにはrect. Examples

plot(1:7, abs(stats::rnorm(7)), type = "h", axes = FALSE) axis(1, at = 1:7, labels = letters[1:7])

box(lty = '1373', col = 'red')

boxplot Box Plots

Description

与えられた(グループ化された)値に対して箱型図を作る. Usage

boxplot(x, ...)

## S3 method for class 'formula'

boxplot(formula, data = NULL, ..., subset, na.action = NULL) ## Default S3 method:

boxplot(x, ..., range = 1.5, width = NULL, varwidth = FALSE, notch = FALSE, outline = TRUE, names, plot = TRUE, border = par("fg"), col = NULL, log = "",

pars = list(boxwex = 0.8, staplewex = 0.5, outwex = 0.5), horizontal = FALSE, add = FALSE, at = NULL)

(19)

boxplot 19 Arguments formula y ~ grp のような公式で,y はデータ値の数値ベクトルでグルーピング 変数(普通因子) grp に従って分割される. data formula 中の変数がそこから取られるデータフレーム (又はリスト). subset プロットに対して使われる観測値の部分集合を指定するオプションの ベクトル. na.action データがNA 値を含む時何が起こるべきかを指示する関数.既定では応 答変数とグループ変数共に欠損理を無視する. x そこから箱型図を作るデータの指定用.数値ベクトルかそうしたベク トルを含む一つのリスト.追加の名前無しの引数はベクトルを分離す る追加のデータを指定する (各々が一つの箱型図成分に対応する).NA はデータ中にあっても良い. ... formula メソッドに対して,既定メソッドに渡される名前付き引数. 既定のメソッドに対しては,名前のない引数は追加のデータベクトル である (x がリストでない限り,リストならそれらは無視される).そ して名前付きの引数は,引数 pars で与えられるものに加えて,bxpに 渡されるグラフィカルパラメータ (そして pars 中のそれらを上書きす る)である. bxp はそれが渡されたグラフィカルパラメータを使うかも しれないし使わないかもしれない;そのドキュメントを見よ. range これはプロットのヒゲが箱からどれくらい外へ伸びるかを決定する. もしrange が正なら,ヒゲは箱から四分偏差の range 倍以下で最も離 れたデータ点まで伸びる.値がゼロならヒゲはデータの極値まで伸び る. width プロットを作り上げる箱の相対的な幅を与えるベクトル.

varwidth もしvarwidth が TRUE なら,箱は幅がグループ中の観測値の平方根に

比例する幅で描かれる.

notch もしnotch が TRUE なら,箱の両側に刻み目が描かれる.もし二つのプ

ロットの刻み目が重ならなければ,これは二つの中央値が異なる‘強力 な証拠’である (Chambers et al, 1983, p. 62).使われる計算法については boxplot.statsを見よ. outline もしoutline が真で無ければ,外れ値は描かれない (点として,一方 Splus は線を使う). names 各箱形図プロットの下にプリントされるグループラベル.文字列ベク トルや表現式で良い(plotmathを見よ). boxwex 全ての箱に適用されるスケール因子.数個のグループしかなければ, 箱を狭くするとプロットの外見が良くなる. staplewex 主要な線幅の拡大,箱幅に比例する. outwex 外れ値の線の拡大,箱幅に比例する. plot もしTRUE (既定)なら箱型図が描かれる.さもなければ箱型図の基本と なる要約を返す. border 箱型図の外れ値に対するオプションの色のベクトル.もし border の長 さがプロットの数より少なければ border 中の値はリサイクルされる.

col もしcol が null で無ければこれは箱型図の本体を彩色する色を含むと

される.既定ではそれらは背景色である.

(20)

20 boxplot

pars 例えば boxwex や outpch のような(もしかすると多くの) グラフィカルパ

ラメータのリスト;これらは(もしplot が真なら)bxpに渡される;詳 細はそれを見よ. horizontal 箱型図が水平であるべきかどうかを指示する論理値;既定の FALSE は 垂直の箱を意味する. add 論理値.もし真なら現在のプロットに箱型図を加える. at 特に add = TRUE の時,箱型図を描くべき位置を与える数値ベクトル; 既定では 1:n で n は箱の数. Details 総称的関数 boxplot は現在既定メソッド (boxplot.default) と公式を用いたインタフェ イス(boxplot.formula) を持つ. もし複数のグループが複数引数や公式で与えられると,平行な箱型図が引数の順序か因 子の水準の順序でプロットされる (factorを見よ). 箱型図を作る時欠損値は無視される. Value 次の成分を持つリスト: stats 行列で,各列は下側ヒゲの極値,下側ヒンジ,中央値,上側ヒンジ,そ して上側ヒゲの極値を一つのグループ/プロット毎に持つ.もし全ての 入力が同じクラス属性を持てばこの成分もそれを持つ. n 各グループ中の観測値の数を持つベクトル. conf ノッチの下側と上側の極値を各列に含む行列. out ヒゲの極値を超える任意のデータ点の値. group out と同じ長さのベクトルで,その要素は外れ値がそのグループに属す るかを指示する. names グループに対する名前のベクトル. References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Chambers, J. M., Cleveland, W. S., Kleiner, B. and Tukey, P. A. (1983) Graphical Methods for Data Analysis.Wadsworth & Brooks/Cole.

Murrell, P. (2005) R Graphics. Chapman & Hall/CRC Press.

boxplot.statsも見よ. See Also

計算を受け持つboxplot.stats,プロットとより多くの例はbxp;そして(少ないデータ

(21)

boxplot.matrix 21 Examples

## 公式を用いた箱型図:

boxplot(count ~ spray, data = InsectSprays, col = "lightgray") # *add* notches (somewhat funny here):

boxplot(count ~ spray, data = InsectSprays, notch = TRUE, add = TRUE, col = "blue") boxplot(decrease ~ treatment, data = OrchardSprays,

log = "y", col = "bisque")

rb <- boxplot(decrease ~ treatment, data = OrchardSprays, col = "bisque") title("Comparing boxplot()s and non-robust mean +/- SD")

mn.t <- tapply(OrchardSprays$decrease, OrchardSprays$treatment, mean) sd.t <- tapply(OrchardSprays$decrease, OrchardSprays$treatment, sd) xi <- 0.3 + seq(rb$n)

points(xi, mn.t, col = "orange", pch = 18) arrows(xi, mn.t - sd.t, xi, mn.t + sd.t,

code = 3, col = "pink", angle = 75, length = .1) ## 行列を用いた箱型図:

mat <- cbind(Uni05 = (1:100)/21, Norm = rnorm(100),

`5T` = rt(100, df = 5), Gam2 = rgamma(100, shape = 2)) boxplot(as.data.frame(mat),

main = "boxplot(as.data.frame(mat), main = ...)") par(las = 1) # all axis labels horizontal

boxplot(as.data.frame(mat), main = "boxplot(*, horizontal = TRUE)", horizontal = TRUE)

## 'at = ' の使用と箱型図の追加 -- Roger Bivand によるアイデア: boxplot(len ~ dose, data = ToothGrowth,

boxwex = 0.25, at = 1:3 - 0.2,

subset = supp == "VC", col = "yellow", main = "Guinea Pigs' Tooth Growth", xlab = "Vitamin C dose mg",

ylab = "tooth length",

xlim = c(0.5, 3.5), ylim = c(0, 35), yaxs = "i") boxplot(len ~ dose, data = ToothGrowth, add = TRUE,

boxwex = 0.25, at = 1:3 + 0.2,

subset = supp == "OJ", col = "orange") legend(2, 9, c("Ascorbic acid", "Orange juice"),

fill = c("yellow", "orange")) ## より多くの例が help(bxp) 中にある

boxplot.matrix Draw a Boxplot for each Column (Row) of a Matrix

Description

(22)

22 bxp Usage

## S3 method for class 'matrix' boxplot(x, use.cols = TRUE, ...) Arguments

x 数値行列.

use.cols 列(既定値)か行(use.cols = FALSE)をプロットすべきかどうかを指示す

る論理値.

... boxplotへの追加の引数.

Value

boxplotに対するようなリスト. Author(s)

Splus に対しては Martin Maechler, 1995,それから R パッケージsfsmisc.

See Also

今ではデータフレームを扱えるboxplot.default; (より一般的な概念の)グルーピング

因子が使えるboxplot.formula,plot.factor. Examples

## ?boxplot 中の例に非常によく似ている

mat <- cbind(Uni05 = (1:100)/21, Norm = rnorm(100),

T5 = rt(100, df = 5), Gam2 = rgamma(100, shape = 2)) boxplot(mat, main = "boxplot.matrix(...., main = ...)",

notch = TRUE, col = 1:4)

bxp Draw Box Plots from Summaries

Description

bxp は z 中に与えられた要約に基づいて箱型図を描く.これは普通boxplotから呼び出

されるが直接起動も出来る. Usage

bxp(z, notch = FALSE, width = NULL, varwidth = FALSE, outline = TRUE, notch.frac = 0.5, log = "",

border = par("fg"), pars = NULL, frame.plot = axes,

horizontal = FALSE, add = FALSE, at = NULL, show.names = NULL, ...)

(23)

bxp 23 Arguments

z プロットを構築するために使われるデータの要約を含むリスト.これ

らは普通boxplotの呼び出しの結果であるが,任意の流儀で構成され

て良い.

notch もしnotch が TRUE ならば,箱の両側に切り欠けが描かれる.もし二つ

のプロットの切り欠けが重ならなければ中央値が有意水準 5 パーセン

トで有意に異なる.

width プロットを構成する箱の相対的な幅を与えるベクトル.

varwidth もしvarwidth が TRUE ならば,箱はグループ中の観測値数の平方根に

比例する幅で描かれる.

outline もしoutline が真でなければ外れ値は描かれない.

notch.frac (0,1)中の数値.notch = TRUE の時は切り欠けが使用する箱の割合.

border 文字列又は数値(ベクトル)で,箱の輪郭の色.これは boxcol, medcol,

whiskcol, staplecol, そして outcol オプションの既定値として使われ る(下を見よ).

log 文字列でplot.defaultに於けるように,ある軸を対数スケールで描く

かどうかを指示する.

frame.plot 論理値で‘フレーム’を描くかどうかを指示する; axes = FALSE が指示

されない限り既定値は TRUE. horizontal 水平な箱にするかどうかを指示する論理値;既定の FALSE は垂直な箱 を意味する. add 論理値.もし真なら箱型図を現在のプロットに付け加える. at 特に add = TRUE の時,箱型図が描かれるべき位置を与える数値ベクト ル;既定では 1:n で,ここで n は箱の数. show.names 各グループに対して x 軸ラベルがプリントされるかどうかの既定値を 上書きするには TRUE か FALSE に設定する. pars,... リスト(pars)又は普通に ... として,グラフィカルパラメータ(等)をこ の関数に引数として渡すことが出来る. (... のこれらは pars 中のそ れらに優先する.)

現在 horizontal が偽の時は yaxs と ylim は‘箱型図に沿って’つまり垂 直に使われ,xlim は水平に使われる. xaxt, yaxt, las, cex.axis そし てcol.axis はaxis渡され,そして main, cex.main, col.main, sub, cex.sub, col.sub, xlab, ylab, cex.lab そして col.lab はtitleに渡され る.

最後に axes が受け入れられ(plot.windowを見よ),既定値は TRUE であ る. 以下の引数(又は pars の成分)は箱型図グラフィックスの追加のカスタ ム化を許す.これらの既定値は典型的に指定された引数か pars 成分か 対応するparの接頭辞無しのバージョンから決定される(例えば boxlty はlty から). boxwex: 全ての箱に適用されるスケール因子.僅かなグループだけが あれば,箱を狭くすることでプロットの外見を改善できる.既定値 はat に依存し,典型的に 0.8 である. staplewex, outwex: ステープルと外れ値の線の拡大,箱の幅に比例す る;共に既定値は 0.5.

boxlty, boxlwd, boxcol, boxfill: 箱のアウトライン,幅,そして塗りつぶ し色(これの既定値は現在は col で将来は par("bg")) のタイプ.

(24)

24 bxp medlty, medlwd, medpch, medcex, medcol, medbg: 中央値の線種,線幅,

点の文字,点サイズの拡大,色,そして背景色.既定の medpch = NA は点を抑制し, medlty = "blank" は線に対してそれを行う. medlwd の既定値は lwd の三倍であることを注意する.

whisklty, whisklwd, whiskcol: ヒゲの線のタイプ(既定: "dashed"),幅, そして色.

staplelty, staplelwd, staplecol: ステープル(= ヒゲの端)線のタイプ,幅そ して色.

outlty, outlwd, outpch, outcex, outcol, outbg: 外れ値の線種,線の幅,点 文字,点サイズの拡大,色,そして背景色.既定値 outlty = "blank" は線を抑制し, outpch = NA は点を抑制する. Value 不可視のベクトルで,実際には at 引数と同一であるが,箱の中心の座標(もし horizontal が偽なら "x",さもなければ "y")を持ち,プロットを付け加えるときに役に立つ. Note

add = FALSE の時は xlim の既定値は今や xlim = range(at, *) + c(-0.5, 0.5) である. もし "x"軸が対数スケールを持つか width が一様とはほど遠ければ, xlim を指定するの は普通良い考えである.

Author(s)

The R Core development team と Arni Magnusson (当時 U Washington). 彼は box*, med*, whisk*, staple* そして out* 引数の殆どの変更を提供した.

References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole. Examples require(stats) set.seed(753) (bx.p <- boxplot(split(rt(100, 4), gl(5, 20)))) op <- par(mfrow = c(2, 2)) bxp(bx.p, xaxt = "n")

bxp(bx.p, notch = TRUE, axes = FALSE, pch = 4, boxfill = 1:5) bxp(bx.p, notch = TRUE, boxfill = "lightblue", frame = FALSE, outl = FALSE, main = "bxp(*, frame= FALSE, outl= FALSE)") bxp(bx.p, notch = TRUE, boxfill = "lightblue", border = 2:6,

ylim = c(-4,4), pch = 22, bg = "green", log = "x", main = "... log = 'x', ylim = *")

par(op)

op <- par(mfrow = c(1, 2)) ## 一つのグループ -- ラベル無し

boxplot (weight ~ group, data = PlantGrowth, subset = group == "ctrl") ## ラベル付き

bx <- boxplot(weight ~ group, data = PlantGrowth, subset = group == "ctrl", plot = FALSE) bxp(bx, show.names=TRUE)

(25)

cdplot 25 par(op)

z <- split(rnorm(1000), rpois(1000, 2.2))

boxplot(z, whisklty = 3, main = "boxplot(z, whisklty = 3)") ## plot.default に似た色のサポート:

op <- par(mfrow = 1:2, bg = "light gray", fg = "midnight blue")

boxplot(z, col.axis = "skyblue3", main = "boxplot(*, col.axis=..,main=..)") plot(z[[1]], col.axis = "skyblue3", main = "plot(*, col.axis=..,main=..)") mtext("par(bg=\"light gray\", fg=\"midnight blue\")",

outer = TRUE, line = -1.2) par(op)

## S-Plus を真似る:

splus <- list(boxwex = 0.4, staplewex = 1, outwex = 1, boxfill = "grey40",

medlwd = 3, medcol = "white", whisklty = 3, outlty = 1, outpch = NA) boxplot(z, pars = splus)

## リサイクルされ"一巡される"パラメータ op <- par(mfrow = c(1,2))

boxplot(z, border = 1:5, lty = 3, medlty = 1, medlwd = 2.5) boxplot(z, boxfill = 1:3, pch = 1:5, lwd = 1.5, medcol = "white") par(op)

## 多すぎる可能性

boxplot(z, boxfill = "light gray", outpch = 21:25, outlty = 2, bg = "pink", lwd = 2,

medcol = "dark blue", medcex = 2, medpch = 20)

cdplot Conditional Density Plots

Description カテゴリカルな変数 y の条件付き分布が数値変数 x によりどのように変換するかを記述 する条件付き密度を計算しプロットする. Usage cdplot(x, ...) ## Default S3 method: cdplot(x, y,

plot = TRUE, tol.ylab = 0.05, ylevels = NULL, bw = "nrd0", n = 512, from = NULL, to = NULL,

col = NULL, border = 1, main = "", xlab = NULL, ylab = NULL, yaxlabels = NULL, xlim = NULL, ylim = c(0, 1), ...)

## S3 method for class 'formula' cdplot(formula, data = list(),

plot = TRUE, tol.ylab = 0.05, ylevels = NULL, bw = "nrd0", n = 512, from = NULL, to = NULL,

col = NULL, border = 1, main = "", xlab = NULL, ylab = NULL, yaxlabels = NULL, xlim = NULL, ylim = c(0, 1), ...,

(26)

26 cdplot Arguments

x オブジェクト,既定のメソッドは単一の数値変数 (又はそれに強制変換

できるオブジェクト)を期待する.

y 従属変数と解釈される "factor".

formula y ~ x のタイプの "formula" で,一つの従属変数 "factor" aと単一の数 値説明変数を持つ. data オプションのデータフレーム. plot 論理値.計算された条件付き密度をプロットするか? tol.ylab y軸の注釈のための適当な許容度パラメータ.もし二つのラベル間の距 離がこの閾値以下になるとそれらは等距離でプロットされる. ylevels 従属変数の水準をどの順序でプロットするかを指示する文字列もしく は数値ベクトル. bw, n, from, to, ... densityに渡される引数.

col levels(y) と同じ長さの塗りつぶし色のベクトル.既定ではgray.colors

を呼び出す.

border 陰影付きの多角形の輪郭色.

main, xlab, ylab

注釈に対する文字列. yaxlabels y軸の注釈のための文字列ベクトルで,既定では levels(y). xlim, ylim 意味のある既定値を持つ x と y 変数の範囲. subset プロットに使われる観測値の部分集合を指定するオプションのベクト ル. Details cdplot は y の水準を与えて y の周辺密度で重みが付けられた x の条件付き密度を計算す る.密度は y の水準に関して累積的に導かれる.

この可視化テクニックは spinogram (spineplot見よ)に似ており,P (y|x) を x に対し

てプロットする.条件付き確率は(spinogram のように)離散化では導かれず,代わりに densityによる平滑化を用いる. 条件付き密度の推定値は x の高密度領域でより信頼できることを注意しよう.逆に x 観 測値が僅かな領域では信頼性が劣る. Value (y の水準に関して累積された)条件付き密度関数が不可視で返される. Author(s)

Achim Zeileis<[email protected]>

References

Hofmann, H., Theus, M. (2005), Interactive graphics for visualizing conditional distributions, Un-published Manuscript.

(27)

clip 27 See Also spineplot,density Examples ## NASA のスペースシャトルの o リングの不良品 fail <- factor(c(2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1),

levels = 1:2, labels = c("no", "yes"))

temperature <- c(53, 57, 58, 63, 66, 67, 67, 67, 68, 69, 70, 70, 70, 70, 72, 73, 75, 75, 76, 76, 78, 79, 81) ## CD プロット cdplot(fail ~ temperature) cdplot(fail ~ temperature, bw = 2) cdplot(fail ~ temperature, bw = "SJ") ## spinogram と比較する

(spineplot(fail ~ temperature, breaks = 3)) ## 失敗をハイライト

cdplot(fail ~ temperature, ylevels = 2:1) ## 条件付き密度を用いた散布図

cdens <- cdplot(fail ~ temperature, plot = FALSE)

plot(I(as.numeric(fail) - 1) ~ jitter(temperature, factor = 2), xlab = "Temperature", ylab = "Conditional failure probability") lines(53:81, 1 - cdens[[1]](53:81), col = 2)

clip Set Clipping Region

Description

ユーザ座標のクリップ領域を設定する.

Usage

clip(x1, x2, y1, y2) Arguments x1, x2, y1, y2 クリップ矩形のユーザ座標. Details クリップ矩形をどのように設定するかはpar("xpd") に依存する:この関数は次の高水準 プロット命令がそれをリセットするまで現在の設定を変更する. 線,矩形そして多角形のクリッピングはグラフィックエンジンでなされるが,テキスト のクリップはもし可能ならデバイスで行われるので,テキストのクリップの効果はデバ イス依存である (そしてクリップ領域に完全に入らないテキストが全部省略されること もあり得る).

(28)

28 contour

クリップ領域がいつリセットされるのかをはっきり予測するのは困難である.plot.new

は常にそれをリセットする.linestextのような関数はもしpar("xpd") が変更され た時だけそれをリセットする.しかしながらbox,mtext,titleそしてplot.dendrogram

のような関数は xpd の設定を操作できる. See Also par Examples x <- rnorm(1000) hist(x, xlim = c(-4,4)) usr <- par("usr")

clip(usr[1], -2, usr[3], usr[4]) hist(x, col = 'red', add = TRUE) clip(2, usr[2], usr[3], usr[4]) hist(x, col = 'blue', add = TRUE)

do.call("clip", as.list(usr)) # プロット領域にリセット

contour Display Contours

Description

等高線プロットを作る,もしくは既存のプロットに等高線を加える. Usage

contour(x, ...) ## Default S3 method:

contour(x = seq(0, 1, length.out = nrow(z)), y = seq(0, 1, length.out = ncol(z)), z,

nlevels = 10, levels = pretty(zlim, nlevels), labels = NULL,

xlim = range(x, finite = TRUE), ylim = range(y, finite = TRUE), zlim = range(z, finite = TRUE),

labcex = 0.6, drawlabels = TRUE, method = "flattest", vfont, axes = TRUE, frame.plot = axes,

col = par("fg"), lty = par("lty"), lwd = par("lwd"), add = FALSE, ...) Arguments x, y z 中の値が計測されるグリッド線の位置.これらは増加順でなければ ならない.既定では 0 から 1 までの等間隔な値が使われる.もし x が list ならばその成分 x$x と x$y がそれぞれ x と y に対して使われる. もしリストが成分 z をもてばこれが z として使われる.

(29)

contour 29 z プロットされる値を含む行列(NA が許される).便宜的に x を z の代わり使うことが出来るのを注意しよう. nlevels levels が提供されない時,そしてその時だけ期待される等高線レベル の数. levels 等高線がそこで描かれるレベルの数値ベクトル. labels 等高線に対するラベルを与えるベクトル.もし NULL ならばレベルがラ ベルとして使われ,さもなければこれはas.characterで強制変換され る.

labcex 等高線のラベル付けのための cex.これは絶対サイズで par("cex") の 倍数ではない. drawlabels 論理値.もし TRUE ならば等高線が描かれる. method ラベルをどこに置くかを指定する文字列ベクトル.可能な値は "simple", "edge" そして "flattest" (既定値).‘詳細’節を見よ. vfont もしNULL ならば,現在のフォント族とフェイスが等高線ラベルに対 して使われる.もし長さ 2 の文字列ベクトルならば Hershey ベクトル フォントが等高線ラベルとして使われる.ベクトルの最初の要素は タイプフェイスを選択し,二番目の要素はフォントインデックスを選 択する(より多くの情報はtextを見よ).既定値は高く機能のテキス ト回転を持つグラフィックスデバイス上では NULL で,さもなければ c("sans serif", "plain") である.

xlim, ylim, zlim

プロットの x, y そして z の限界. axes, frame.plot 軸や枠を描くかどうかを指示する論理値.plot.defaultを見よ. col 描かれる線の色. lty 描かれる線の線種. lwd 描かれる線の幅. add 論理値.もし TRUE なら現在のプロットに付け加える.

... plot.window, title, Axis そ し て box へ の追加引数で, 典型的には cex.axis のようなグラフィカルパラメータ. Details contour は基本 R には既定メソッドだけを持つ総称的関数である. 等高線上のラベルの位置決め法は "simple" (プロットの端に書き,等高線に重ねる), "edge" (プロットの端に書き,等高線中に埋め込み,ラベルは重なり合わない),そして "flattest" (等高線の一番平坦な部分に書き,等高線中に埋め込み,ラベルは重なり合わ ない).二番目と三番目は全ての等高線上にはラベルを書かないかもしれない. ベクトルフォントに関する情報についてはtextとHersheyのヘルプを見よ.

contour は z 行列を f(x[i], y[j]) 値のテーブルと解釈するので,x 軸は行数で y 軸は列 数で,列 1 は下部に対応することを注意しよう.つまり通常のテキストレイアウトを逆 時計回りに 90 度回転する.

別法としてlatticeパッケージからのcontourplotを使う.そこではformula表記が同じ

長さのベクトル x, y そして z が使われる.

引数 col を使い軸と枠に対する限定された制御が出来る. lwd と lty は等高線の線を参 照する (一般のグラフィカルパラメータとしてではなく).これ以上の制御には等高線を

(30)

30 contour References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

一つの等高線の最大の複雑さに対するoptions("max.contour.segments").

色で塗りつぶされた等高線にはcontourLines,filled.contour,パッケージlatticeから

contourplot(そしてlevelplot).更にimageとdemo(graphics) で起動できるグラフ ィックスデモ.

Examples

require(grDevices) # 等高線のため x <- -6:16

op <- par(mfrow = c(2, 2))

contour(outer(x, x), method = "edge", vfont = c("sans serif", "plain")) z <- outer(x, sqrt(abs(x)), FUN = "/")

image(x, x, z)

contour(x, x, z, col = "pink", add = TRUE, method = "edge", vfont = c("sans serif", "plain"))

contour(x, x, z, ylim = c(1, 6), method = "simple", labcex = 1, xlab = quote(x[1]), ylab = quote(x[2]))

contour(x, x, z, ylim = c(-6, 6), nlev = 20, lty = 2, method = "simple", main = "20 levels; \"simple\" labelling method")

par(op)

## ペルシャ絨毯アート:

x <- y <- seq(-4*pi, 4*pi, len = 27) r <- sqrt(outer(x^2, y^2, "+"))

opar <- par(mfrow = c(2, 2), mar = rep(0, 4)) for(f in pi^(0:3))

contour(cos(r^2)*exp(-r/f),

drawlabels = FALSE, axes = FALSE, frame = TRUE) rx <- range(x <- 10*1:nrow(volcano))

ry <- range(y <- 10*1:ncol(volcano))

ry <- ry + c(-1, 1) * (diff(rx) - diff(ry))/2 tcol <- terrain.colors(12)

par(opar); opar <- par(pty = "s", bg = "lightcyan")

plot(x = 0, y = 0, type = "n", xlim = rx, ylim = ry, xlab = "", ylab = "") u <- par("usr")

rect(u[1], u[3], u[2], u[4], col = tcol[8], border = "red") contour(x, y, volcano, col = tcol[2], lty = "solid", add = TRUE,

vfont = c("sans serif", "plain"))

title("A Topographic Map of Maunga Whau", font = 4)

abline(h = 200*0:4, v = 200*0:4, col = "lightgray", lty = 2, lwd = 0.1) ## contourLines は contour と同じ等高線を作る

plot(x = 0, y = 0, type = "n", xlim = rx, ylim = ry, xlab = "", ylab = "") u <- par("usr")

rect(u[1], u[3], u[2], u[4], col = tcol[8], border = "red") contour(x, y, volcano, col = tcol[1], lty = "solid", add = TRUE,

vfont = c("sans serif", "plain")) line.list <- contourLines(x, y, volcano)

(31)

convertXY 31 par(opar)

convertXY Convert between Graphics Coordinate Systems

Description

グラフィックス座標間で変換する.

Usage

grconvertX(x, from = "user", to = "user") grconvertY(y, from = "user", to = "user") Arguments x, y 座標の数値ベクトル. from, to その間で変換する座標システムを与える文字列. Details 座標システムは "user" ユーザ座標. "inches" インチ. "device" デバイスの座標システム. "ndc" 正規化されたデバイス座標. "nfc" 正規化された図座標. "npc" 正規化されたプロット座標. "nic" 正規化された内部領域座標. (‘内部領域’は外部マージンの内部.) (これらの名前は部分的にマッチされる.) ‘正規化’された座標システムに対しては左下 が値 0 で右上が値 1 を持つ. デバイス座標はデバイスがその内部で動作するものである:これらはそれが意味を持つ 箇所では普通ピクセル単位,さもなければ big point (1/72 インチ)である (例えばpdfと postscript).. Value 入力と同じ長さの数値ベクトル. Examples op <- par(omd=c(0.1, 0.9, 0.1, 0.9), mfrow = c(1, 2)) plot(1:4)

for(tp in c("in", "dev", "ndc", "nfc", "npc", "nic")) print(grconvertX(c(1.0, 4.0), "user", tp)) par(op)

(32)

32 coplot

coplot Conditioning Plots

Description

この関数は以下の参考文献で議論されている条件プロットの二つの変種を作る.

Usage

coplot(formula, data, given.values, panel = points, rows, columns, show.given = TRUE, col = par("fg"), pch = par("pch"), bar.bg = c(num = gray(0.8), fac = gray(0.95)),

xlab = c(x.name, paste("Given :", a.name)), ylab = c(y.name, paste("Given :", b.name)), subscripts = FALSE,

axlabels = function(f) abbreviate(levels(f)), number = 6, overlap = 0.5, xlim, ylim, ...) co.intervals(x, number = 6, overlap = 0.5)

Arguments formula 条件プロットの形式を記述する公式.形式 y ~ x | a の公式は x に対 するy のプロットは変数 a で条件を付けて作られるべきであることを 指示する.形式 y ~ x| a * b の公式は x に対する y のプロットは変数 a と b で条件を付けて作られるべきであることを指示する. 三つ又は四つの変数は数値か因子かもしれない. x や y が因子である 時,結果は as.numeric() が適用されたかのようになる.一方因子の a またはb に対しては,条件付け(そしてもし show.given が真ならそのグ ラフィックス)が適合される. data 公式中の変数に対する値を含むデータフレーム.既定ではそこから coplot が呼び出された環境. given.values a と b に関する条件付けがどのように起こるかを決める一つの値又は二 つの値のリスト. b が無い時(つまり a だけに関する条件付け),普通これは二つの列を持 つ行列でその各行は条件を与える区間を与えるが,一つの数値ベクト ルか因子レベルの集合でも良い (もし条件を付けられる変数が因子の 時).この場合(b が無い),co.intervals の結果は直接 given.values 引 数として使うことが出来る. panel ディスプレイの各パネル中で実行される行動を与える既定では points であるfunction(x, y, col, pch, ...).

rows プロットのパネルはrows x columns の配列に配置される.rows は配列

中の行の数を与える. columns パネルのレイアウト配列中の列数. show.given 論理値(二つの条件付け変数に対する長さ2 かもしれない):対応する条 件付け変数に対して条件付きプロットをを示すべきか(既定では TRUE). col 点をプロットするのに使われる色のベクトル.もし短すぎると値はリ サイクルされる. pch プロットされるシンボルや文字のベクトル.もし短すぎると値はリサ イクルされる.

参照

関連したドキュメント

これまた歴史的要因による︒中国には漢語方言を二分する二つの重要な境界線がある︒

• 家族性が強いものの原因は単一遺伝子ではなく、様々な先天的要 因によってもたらされる脳機能発達の遅れや偏りである。.. Epilepsy and autism.2016) (Anukirthiga et

例えば,立証責任分配問題については,配分的正義の概念説明,立証責任分配が原・被告 間での手続負担公正配分の問題であること,配分的正義に関する

例えば,立証責任分配問題については,配分的正義の概念説明,立証責任分配が原・被告 間での手続負担公正配分の問題であること,配分的正義に関する

ADAR1 は、Z-DNA 結合ドメインを2つ持つ ADAR1p150 と、1つ持つ ADAR1p110 が.

自発的な文の生成の場合には、何らかの方法で numeration formation が 行われて、Lexicon の中の語彙から numeration

①配慮義務の内容として︑どの程度の措置をとる必要があるかについては︑粘り強い議論が行なわれた︒メンガー

これらの船舶は、 2017 年の第 4 四半期と 2018 年の第 1 四半期までに引渡さ れる予定である。船価は 1 隻当たり 5,050 万ドルと推定される。船価を考慮す ると、