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)

出力結果例

graph


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI

Made with Macintosh