tapplyを使ったグラフ作成 (2008-01-11 (金) 11:47:06) の結論は
AGE<-c(30, 80, 90, 77, 65, 33)
TYPE<-factor(rep(c("male", "female"), each=3), levels=c("male", "female"))
myhist <- function(x) {
hist(x, main=paste("Histogram of TYPE=", levels(TYPE)[substitute(x)[[3]]]))
}
tapply(AGE, TYPE, myhist)
ということですね。
関数の中で大域変数を参照するのは避けた方がよいと思われ,以下のように書いてみる。。。
myhist <- function(x, g) {
hist(x, main=paste("Histogram of TYPE=", g))
}
a <- mapply(myhist, split(AGE,TYPE), levels(TYPE))
他のデータを処理するときも,関数の中を弄らなくてもよいというメリットあり
b <- mapply(myhist, split(iris[,1], iris[,5]), levels(iris[,5]))
AGE<-c(30, 80, 90, 77, 65, 33)
TYPE<-factor(rep(c("male", "female"), each=3), levels=c("male", "female"))
myhist <- function(x) {
hist(x, main=paste("Histogram of TYPE=", levels(TYPE)[substitute(x)[[3]]]))
}
tapply(AGE, TYPE, myhist)
ということですね。
関数の中で大域変数を参照するのは避けた方がよいと思われ,以下のように書いてみる。。。
myhist <- function(x, g) {
hist(x, main=paste("Histogram of TYPE=", g))
}
a <- mapply(myhist, split(AGE,TYPE), levels(TYPE))
他のデータを処理するときも,関数の中を弄らなくてもよいというメリットあり
b <- mapply(myhist, split(iris[,1], iris[,5]), levels(iris[,5]))
※コメント投稿者のブログIDはブログ作成者のみに通知されます