グラフィックス参考実例集:条件プロット
(グラフィックス参考実例集に戻る。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() # デバイスを閉じる }