裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

車輪の再発明

2012年04月11日 | ブログラミング

やりたいことは,たいてい用意されているとはよく言われること。

久保さんのグラフ描きについても,example(boxplot) で,参考になる例が見つかる。

#################### 久保さんが書いたプログラム ##############
# 作図例題のための架空データを生成
N.lv <- 5
x <- factor(rep(LETTERS[1:N.lv], each = 20))
y <- rnorm(100)
grp <- factor(rep(c("G1", "G2"), 50)) # Group 1 and 2

# まず,わくだけ描く
boxplot(y ~ x, border = NA) # border = NA は姑息なかんぢ……

# 二種類の箱ヒゲを左右にずらして描く
s <- grp == "G1"
bx <- boxplot(y[s] ~ x[s], plot = FALSE)
bxp(
    bx, at = 1:N.lv - 0.15, boxwex = 0.25,
    add = TRUE, axes = FALSE, # これを指定しないと「ずれた」x-axis を描く
    boxcol = rgb(0, 0, 0, 0.2),
    boxfill = rgb(1, 0.5, 0, 0.5)
)
s <- grp == "G2"
bx <- boxplot(y[s] ~ x[s], plot = FALSE)
bxp(
    bx, at = 1:N.lv + 0.15, boxwex = 0.25,
    add = TRUE, axes = FALSE,
    boxcol = rgb(0, 0, 0, 0.2),
    boxfill = rgb(0, 0, 1, 0.5)
)
#################### example を書き換えてみたもの ##############
boxplot(y ~ x,
        boxwex = 0.25, at = 1:5 - 0.2,
        subset = grp == "G1", col = rgb(1, 0.5, 0, 0.5),
        xlab = "", ylab = "",
        xlim = c(0.5, 5.5), ylim = c(-3, 3), yaxs = "i", xaxt="n")
boxplot(y ~ x, add = TRUE,
        boxwex = 0.25, at = 1:5 + 0.2,
        subset = grp == "G2", col = rgb(0, 0, 1, 0.5),
             xaxt="n")
axis(1, 1:5, LETTERS[1:5])

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 驚くにはあたらないとおもう... | トップ | 決めうちしないプログラム »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事