「ぎょーむ日誌」目次に戻る | KuboWeb top に戻る | twilog | atom

ぎょーむ日誌 2007-07-03

苦情・お叱りは, たいへんお手数かけて恐縮ですが, 久保 (kubo@ees.hokudai.ac.jp) までお知らせください.

2007 年 07 月 03 日 (火)

bc03a
[barchart() による「組成」ぐらふ]
library(lattice) barchart() を使って barchart(n ~ treatment | forest, groups = spc, data = de2, stack = TRUE, col = rainbow(9)) とすると左のような図になる. データ格納してる data.frame である de2 については下を参照, めんどくさい reshape() つかって data.frame を 「長いカタチ」 (direction = "long") 変換するところがぽいんとである.

> data.example # こういうデータがあったとする
   forest treatment spc.1 spc.2 spc.3 spc.4 spc.5 spc.6 spc.7 spc.8 spc.9
1       A         x     7     4     3     3     5     2     4     6     6
2       B         x     3     9     5     5     4     1     3     5     5
3       C         x     2     5     7     4     6     2     7     5     2
4       D         x     4     5     5     2     4     6     5     9     5
5       A         y     9     7     9     7    12     5     4     8     4
6       B         y     2     5     5     3     4     2     1     6     4
7       C         y     3     3     4     7     4     6     4     7     8
8       D         y     4     3     3     9     8     4     3     5     4
9       A         z     5     4     4     2     3     7     4     9     5
10      B         z     4     4     7     5     4     6     4     7     6
11      C         z     0     8     7     5     3     5     4     4     7
12      D         z     5     3     5     7     4     7     5     5     1

> v.spc # こういう列名 vector をあらかじめ準備しとく
[1] "spc.1" "spc.2" "spc.3" "spc.4" "spc.5" "spc.6" "spc.7" "spc.8" "spc.9"

> de2 <- reshape(data.example, direction = "long", varying = v.spc)
> de2 <- de2[, 1:4]
> colnames(de2) <- c("forest", "treatment", "spc", "n")
> de2 # reshape() によって「長いカタチ」に変換された data.example
     forest treatment spc  n
1.1       A         x   1  7
2.1       B         x   1  3
3.1       C         x   1  2
4.1       D         x   1  4
5.1       A         y   1  9
6.1       B         y   1  2
7.1       C         y   1  3
8.1       D         y   1  4
9.1       A         z   1  5
10.1      B         z   1  4
11.1      C         z   1  0
12.1      D         z   1  5
1.2       A         x   2  4
2.2       B         x   2  9
3.2       C         x   2  5
4.2       D         x   2  5
5.2       A         y   2  7
... (以下略) ...
> source("barchart.gray.R") # 関数定義のファイル名が "barchart.gray.R" の場合
> barchart.gray(de2, v.spc) # de2 だの v.spc だのは上を参照
barchart.gray


KuboLog | KuboWeb