mean(データフレーム) と sd(データフレーム) が deprecated になったので,by がとばっちりを受ける。
> by(iris[,1:4], iris[,5], mean)
iris[, 5]: setosa
Sepal.Length Sepal.Width Petal.Length Petal.Width
5.006 3.428 1.462 0.246
--------------------------------------------------
iris[, 5]: versicolor
Sepal.Length Sepal.Width Petal.Length Petal.Width
5.936 2.770 4.260 1.326
--------------------------------------------------
iris[, 5]: virginica
Sepal.Length Sepal.Width Petal.Length Petal.Width
6.588 2.974 5.552 2.026
警告メッセージ:
1: mean() is deprecated.
Use colMeans() or sapply(*, mean) instead.
2: mean() is deprecated.
Use colMeans() or sapply(*, mean) instead.
3: mean() is deprecated.
Use colMeans() or sapply(*, mean) instead.
警告を出さないためには当然だが,colMeans か sapply を以下のように使う。
> by(iris[,1:4], iris[,5], colMeans)
iris[, 5]: setosa
Sepal.Length Sepal.Width Petal.Length Petal.Width
5.006 3.428 1.462 0.246
---------------------------------------------------------
iris[, 5]: versicolor
Sepal.Length Sepal.Width Petal.Length Petal.Width
5.936 2.770 4.260 1.326
---------------------------------------------------------
iris[, 5]: virginica
Sepal.Length Sepal.Width Petal.Length Petal.Width
6.588 2.974 5.552 2.026
> by(iris[,1:4], iris[,5], sapply, mean)
iris[, 5]: setosa
Sepal.Length Sepal.Width Petal.Length Petal.Width
5.006 3.428 1.462 0.246
---------------------------------------------------------
iris[, 5]: versicolor
Sepal.Length Sepal.Width Petal.Length Petal.Width
5.936 2.770 4.260 1.326
---------------------------------------------------------
iris[, 5]: virginica
Sepal.Length Sepal.Width Petal.Length Petal.Width
6.588 2.974 5.552 2.026