目的 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) 出力結果例