グラフィックス参考実例集:散布図行列
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
COLOR(red){SIZE(20){グラフィックス参考実例集:散布図行列 ...
([[グラフィックス参考実例集]]に戻る。[[Rのグラフィックス...
~
関数pairsは対散布図を描きます。この関数は行列を引数とし...
~
~
注意:パネル関数を独自に定義する際は、グラフィックスオプ...
~
注意:パネル関数は左下専用の lower.panel, 右上専用の uppe...
単に panel だけを指定すると左下、右上双方に使われる。
#contents
~
** 例1
pairs1 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィック...
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメ...
data(iris) # 組み込みデータ iris 読み込み
png("pairs1.png") # png デバイスを開
# 散布図行列を描く(種類毎に色を変える)
pairs(iris[1:4], main = "Anderson's Iris Data -- 3 spe...
pch = 21, bg = c("red", "green3", "blue")[unclas...
dev.off() # デバイスを閉じる
}
#ref(pairs1.png,left)
** 例2
pairs2 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィック...
png("pairs2.png") # png デバイスを開
data(USJudgeRatings) # 組み込みデータ USJudgeRatings ...
pairs(USJudgeRatings) # 散布図行列を描
dev.off() # デバイスを閉じる
}
#ref(pairs2.png,left)
** 例3
pairs3 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィック...
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメ...
panel.hist <- function(x, ...) # ヒストグラムを描くた...
{ usr <- par("usr") # 現在のユーザー領域座標情報を得る
on.exit(par(usr)) # 関数終了時に usr パラメータ復帰
par(usr = c(usr[1:2], 0, 1.5) ) # ユーザー領域座標情...
h <- hist(x, plot = FALSE)
breaks <- h$breaks; nB <- length(breaks)
y <- h$counts; y <- y/max(y)
rect(breaks[-nB], 0, breaks[-1], y, col="cyan", ...)
}
png("pairs3.png") # png デバイスを開く
# 散布図行列を描
# panel=panel.smooth で各散布図に平滑化曲線を関数 pane...
# diag.panel=panel.hist で対角線部分にヒストグラムを描
pairs(USJudgeRatings[1:5], panel=panel.smooth,
cex = 1.5, pch = 24, bg="light blue",
diag.panel=panel.hist, cex.labels = 2, font.labe...
dev.off() # postscript デバイスを閉じる
}
#ref(pairs3.png,left)
** 例4
pairs4 <- function () {
## 上三角部分パネルに相関係数の絶対値を書く
## 数値は相関値の大小に比例させる
oldpar <- par(no.readonly = TRUE) # 現在のグラフィック...
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメ...
panel.cor <- function(x, y, digits=2, prefix="", cex.c...
{ usr <- par("usr") # 現在のユーザー領域座標情報を得る
on.exit(par(usr)) # 関数終了時に usr パラメータ復帰
par(usr = c(0, 1, 0, 1)) # ユーザー領域変更
r <- abs(cor(x, y))
txt <- format(c(r, 0.123456789), digits=digits)[1]
txt <- paste(prefix, txt, sep="")
if(missing(cex.cor)) cex <- 0.8/strwidth(txt)
text(0.5, 0.5, txt, cex = cex * r)
}
png("pairs4.png") # png デバイスを開く
# 散布図行列を描く
# panel=panel.smooth で各散布図に平滑化曲線を関数 pane...
# upper.panel=panel.cor で相関値を書く
pairs(USJudgeRatings, lower.panel=panel.smooth, upper....
dev.off() # デバイスを閉じる
}
#ref(pairs4.png,left)
** 例5 (パネルの座標範囲を共通にする、2004.10.08)
パネル関数を独自に定義し、座標範囲を共通にし、対角線を引...
グラフィックスパラメータ xlim=c(5, 10), ylim=c(5, 10) を...
data(USJudgeRatings)
pairs(USJudgeRatings[1:3],
panel=function(x,y, ...) {points(x, y, pch="."); a...
xlim=c(5, 10), ylim=c(5, 10) )
#ref(pairspanel.png,left)
** 投稿ユーティリティー panel.lsfit
パネルに回帰直線を加える
Tips 集の関数の項 [[pairs用 回帰直線つきpanel]] 参照
終了行:
COLOR(red){SIZE(20){グラフィックス参考実例集:散布図行列 ...
([[グラフィックス参考実例集]]に戻る。[[Rのグラフィックス...
~
関数pairsは対散布図を描きます。この関数は行列を引数とし...
~
~
注意:パネル関数を独自に定義する際は、グラフィックスオプ...
~
注意:パネル関数は左下専用の lower.panel, 右上専用の uppe...
単に panel だけを指定すると左下、右上双方に使われる。
#contents
~
** 例1
pairs1 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィック...
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメ...
data(iris) # 組み込みデータ iris 読み込み
png("pairs1.png") # png デバイスを開
# 散布図行列を描く(種類毎に色を変える)
pairs(iris[1:4], main = "Anderson's Iris Data -- 3 spe...
pch = 21, bg = c("red", "green3", "blue")[unclas...
dev.off() # デバイスを閉じる
}
#ref(pairs1.png,left)
** 例2
pairs2 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィック...
png("pairs2.png") # png デバイスを開
data(USJudgeRatings) # 組み込みデータ USJudgeRatings ...
pairs(USJudgeRatings) # 散布図行列を描
dev.off() # デバイスを閉じる
}
#ref(pairs2.png,left)
** 例3
pairs3 <- function () {
oldpar <- par(no.readonly = TRUE) # 現在のグラフィック...
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメ...
panel.hist <- function(x, ...) # ヒストグラムを描くた...
{ usr <- par("usr") # 現在のユーザー領域座標情報を得る
on.exit(par(usr)) # 関数終了時に usr パラメータ復帰
par(usr = c(usr[1:2], 0, 1.5) ) # ユーザー領域座標情...
h <- hist(x, plot = FALSE)
breaks <- h$breaks; nB <- length(breaks)
y <- h$counts; y <- y/max(y)
rect(breaks[-nB], 0, breaks[-1], y, col="cyan", ...)
}
png("pairs3.png") # png デバイスを開く
# 散布図行列を描
# panel=panel.smooth で各散布図に平滑化曲線を関数 pane...
# diag.panel=panel.hist で対角線部分にヒストグラムを描
pairs(USJudgeRatings[1:5], panel=panel.smooth,
cex = 1.5, pch = 24, bg="light blue",
diag.panel=panel.hist, cex.labels = 2, font.labe...
dev.off() # postscript デバイスを閉じる
}
#ref(pairs3.png,left)
** 例4
pairs4 <- function () {
## 上三角部分パネルに相関係数の絶対値を書く
## 数値は相関値の大小に比例させる
oldpar <- par(no.readonly = TRUE) # 現在のグラフィック...
on.exit(par(oldpar)) # (関数がエラー中断しても)パラメ...
panel.cor <- function(x, y, digits=2, prefix="", cex.c...
{ usr <- par("usr") # 現在のユーザー領域座標情報を得る
on.exit(par(usr)) # 関数終了時に usr パラメータ復帰
par(usr = c(0, 1, 0, 1)) # ユーザー領域変更
r <- abs(cor(x, y))
txt <- format(c(r, 0.123456789), digits=digits)[1]
txt <- paste(prefix, txt, sep="")
if(missing(cex.cor)) cex <- 0.8/strwidth(txt)
text(0.5, 0.5, txt, cex = cex * r)
}
png("pairs4.png") # png デバイスを開く
# 散布図行列を描く
# panel=panel.smooth で各散布図に平滑化曲線を関数 pane...
# upper.panel=panel.cor で相関値を書く
pairs(USJudgeRatings, lower.panel=panel.smooth, upper....
dev.off() # デバイスを閉じる
}
#ref(pairs4.png,left)
** 例5 (パネルの座標範囲を共通にする、2004.10.08)
パネル関数を独自に定義し、座標範囲を共通にし、対角線を引...
グラフィックスパラメータ xlim=c(5, 10), ylim=c(5, 10) を...
data(USJudgeRatings)
pairs(USJudgeRatings[1:3],
panel=function(x,y, ...) {points(x, y, pch="."); a...
xlim=c(5, 10), ylim=c(5, 10) )
#ref(pairspanel.png,left)
** 投稿ユーティリティー panel.lsfit
パネルに回帰直線を加える
Tips 集の関数の項 [[pairs用 回帰直線つきpanel]] 参照
ページ名: