如何在 R 中合并 tapply() 函数?

How to merge tapply() functions in R?

输入:

data(iris)
tapply(iris$Sepal.Length, iris$Species, mean)
tapply(iris$Sepal.Length, iris$Species, median)

所需输出:显示以下内容的数据集

#setosa versicolor virginica
#5.006  5.936      6.588
#5.0    5.9        6.5

创建包含各种 tapply() 输出的新的单一数据集的最佳方法是什么?

可能是这样:

data(iris)
x <- tapply(iris$Sepal.Length, iris$Species, mean)
y <- tapply(iris$Sepal.Length, iris$Species, median)
df <- rbind(x, y)
df

它产生

  setosa versicolor virginica
x  5.006      5.936     6.588
y  5.000      5.900     6.500

您可以通过一个 tapply 电话试试:

mat <-
do.call(cbind, 
        tapply(iris$Sepal.Length, iris$Species, function(x) c(mean(x), median(x)))
        )

输出:

> mat
     setosa versicolor virginica
[1,]  5.006      5.936     6.588
[2,]  5.000      5.900     6.500