COLOR(red){SIZE(20){グラフィックス参考実例集:共変量プロット}}

png デバイス使用。coplot は第3・第4の共変量の値の範囲を指定した散布図で、
3,4 次元散布図の2次元断面図(薄片)と考えると理解しやすく、CTスキャンによる、連続断面図風の効果がえられる。上・右部に共変量の指定範囲が棒グラフ状に示される。

 ## Tonga 海溝の地震データ
 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()            # デバイスを閉じる
 }
#ref(coplot1.png, left)

 ## Tonga 海溝の地震データ
 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()            # デバイスを閉じる
 }
#ref(coplot2.png, left)

 ## 2変数で条件付
 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()            # デバイスを閉じる
 }
#ref(coplot3.png, left)

 ## 2変数で条件付け
 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()            # デバイスを閉じる
 }
#ref(coplot4.png, left)

 ## 2変数で条件付け
 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()            # デバイスを閉じる
 }
#ref(coplot5.png, left)

 ## 2変数で条件付け
 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()            # デバイスを閉じる
 }
#ref(coplot6.png, left)

 ## 因子の水準毎に散布図を描く
 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()            # デバイスを閉じる
 }
#ref(coplot7.png, left)

 # 二つの因子 wool, tension の各水準毎に散布図を描く
 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()          # デバイスを閉じる
 }
#ref(coplot8.png, left)

 ## 空の panel がある例
 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()            # デバイスを閉じる
 }
#ref(coplot9.png, left)

 ## 空の panel がある例
 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()            # デバイスを閉じる
 }
#ref(coplot10.png,left)


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Google
WWW を検索 OKADAJP.ORG を検索