plot.design Last modified: Jun 28, 2004
目的
S にある plot.design という関数を R で書いた(いつのまにか,R にもできている。というか,探し方が悪かったのか?)。
カテゴリー変数のとる値ごとに,目的変数について指示した統計量を求め,一画面上に図示する。
使用法
plot.design2(data, FUN=mean)
引数
data データ行列またはデータフレーム
一列目が目的変数(連続変数)
二列目以降が説明変数(カテゴリー変数)
FUN 描画する数値を計算する関数名
省略した場合は mean が使われる
ソース
インストールは,以下の 1 行をコピーし,R コンソールにペーストする
source("http://aoki2.si.gunma-u.ac.jp/R/src/plot_design2.R", encoding="euc-jp")
# ずっと以前には,R には plot.design 関数がなかったので,それに近いことをする関数を書いた
plot.design2 <- function( data, # データ行列
FUN=mean) # 作用させる関数
{
nv <- ncol(data) # データ行列の列数(変数の個数)
result <-unlist(sapply(2:nv, function(i) by(data[,1], data[,i], FUN)))
min.y <- min(result)
max.y <- max(result)
min.y <- min.y-(max.y-min.y)*0.1
plot(c(0.5, nv-0.5), c(min.y, max.y), type="n", xlab="", xaxt="n", ylab=variable.names(data)[1])
for (i in 2:nv) {
r <- by(data[,1], data[,i], FUN)
n <- length(r)
lines(rep(i-1, n), r, type="o")
text(i-1, min.y, variable.names(data)[i])
text(i-1, r, paste("c", 1:n, sep=""), pos=4, offset=0.5)
}
}
使用例
x1 <- rep(1:3, each=10) # 右と同じ c(rep(1, 10), rep(2, 10), rep(3, 10))
x2 <- rep(1:2, c(5, 25)) # 右と同じ c(rep(1, 5), rep(2, 25))
y <- rnorm(30)
data <- data.frame(y, x1, x2)
plot.design2(data)
出力結果例
直前のページへ戻る
E-mail to Shigenobu AOKI