グラフィックス参考実例集:条件プロット
(グラフィックス参考実例集に戻る。Rのグラフィックスパラメータを参照する。)
png デバイス使用。coplot (conditioning plot) は他の変量の値の範囲を指定した散布図で、 多次元散布図の2次元断面図(薄片)と考えると理解しやすく、CTスキャンによる、連続断面図風の効果がえられる。上・右部に条件を付ける変量の指定範囲が棒グラフ状に示される。
coplot1 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィックスパラメータ退避
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメータ復帰
png("coplot1.png") # png デバイスを開
data(quakes)
# depth データの範囲毎に lat, long データの散布図を描く
coplot(lat ~ long | depth, data = quakes)
dev.off() # デバイスを閉じる
}
coplot2 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィックスパラメータ退避
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメータ復帰
png("coplot2.png") # png デバイスを開く
data(quakes)
# depth データの範囲を自分で指定
given.depth <- co.intervals(quakes$depth, number=4, overlap=.1)
coplot(lat ~ long | depth, data = quakes, given.v=given.depth, rows=1)
dev.off() # デバイスを閉じる
}
coplot3 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィックスパラメータ退避
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメータ復帰
png("coplot3.png") # png デバイスを開
data(quakes)
# depth, mag データの範囲毎に lat, long データの散布図を描く
ll.dm <- lat ~ long | depth * mag
coplot(ll.dm, data = quakes)
dev.off() # デバイスを閉じる
}
coplot4 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィックスパラメータ退避
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメータ復帰
png("coplot4.png") # png デバイスを開
data(quakes)
ll.dm <- lat ~ long | depth * mag
coplot(ll.dm, data = quakes, number=c(4,7), show.given=c(TRUE,FALSE))
dev.off() # デバイスを閉じる
}
coplot5 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィックスパラメータ退避
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメータ復帰
png("coplot5.png") # png デバイスを開
data(quakes)
ll.dm <- lat ~ long | depth * mag
coplot(ll.dm, data = quakes, number=c(3,7),
overlap=c(-.5,.1)) # negative overlap DROPS values
dev.off() # デバイスを閉じる
}
coplot6 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィックスパラメータ退避
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメータ復帰
data(quakes)
ll.dm <- lat ~ long | depth * mag
png("coplot6.png") # png デバイスを開く
coplot(ll.dm, data = quakes, number=c(3,7),
overlap=c(-.5,.1)) # negative overlap DROPS values
dev.off() # デバイスを閉じる
}
coplot7 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィックスパラメータ退避
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメータ復帰
data(warpbreaks)
## 二つの因子を与える
png("coplot7.png") # pngデバイスを開く
coplot(breaks ~ 1:54 | wool * tension, data = warpbreaks, show.given = 0:1)
dev.off() # デバイスを閉じる
}
coplot8 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィックスパラメータ退避
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメータ復帰
data(warpbreaks)
#attach(warpbreaks)
png("coplot8.png") # pngデバイスを開く
coplot(breaks ~ 1:54 | wool * tension, data = warpbreaks,
col = "red", bg = "pink", pch = 21,
bar.bg = c(fac = "light blue"))
dev.off() # デバイスを閉じる
}
coplot9 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィックスパラメータ退避
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメータ復帰
data(state)
attach(data.frame(state.x77)) # 以下で data 引数が不要になる
png("coplot9.png") # pngデバイスを開く
coplot(Life.Exp ~ Income | Illiteracy * state.region, number = 3,
panel = function(x, y, ...) panel.smooth(x, y, span = .8, ...))
detach() # data.frame(state.x77) を削除
dev.off() # デバイスを閉じる
}
coplot10 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィックスパラメータ退避
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメータ復帰
data(state)
attach(data.frame(state.x77)) # 以下で data 引数が不要になる
png("coplot10.png", height=580) # pngデバイスを開く
## y ~ factor -- 実際は意味は無いが、強調のため
coplot(Life.Exp ~ state.region | Income * state.division,
panel = panel.smooth)
detach() # data.frame(state.x77) を削除
dev.off() # デバイスを閉じる
}