📅  最后修改于: 2023-12-03 15:24:21.333000             🧑  作者: Mango
在数据分析中,聚合多个列通常是非常必要的,可以通过各种方法实现,如dplyr, reshape2等。
dplyr包提供了很容易使用的API,可以用来聚合多个列。比如下面这个示例:
library(dplyr)
data(iris)
head(iris)
iris %>%
group_by(Species) %>%
summarize(Sepal.Length.mean = mean(Sepal.Length),
Sepal.Width.mean = mean(Sepal.Width),
Petal.Length.mean = mean(Petal.Length),
Petal.Width.mean = mean(Petal.Width))
输出的结果如下:
# A tibble: 3 x 5
Species Sepal.Length.mean Sepal.Width.mean Petal.Length.mean Petal.Width.mean
<fct> <dbl> <dbl> <dbl> <dbl>
1 setosa 5.01 3.43 1.46 0.246
2 versicolor 5.94 2.77 4.26 1.33
3 virginica 6.59 2.97 5.55 2.03
reshape2包也提供了非常不错的API,可以用来聚合多个列。比如下面这个示例:
library(reshape2)
data(iris)
head(iris)
melted_iris <- melt(iris, id.vars = "Species")
dcast(melted_iris, Species ~ variable, mean)
输出的结果如下:
Species Petal.Length Petal.Width Sepal.Length Sepal.Width
1 setosa 1.462 0.246 5.006 3.428
2 versicolor 4.260 1.326 5.936 2.770
3 virginica 5.552 2.026 6.588 2.974
聚合多个列通常是需要的,可以使用dplyr或reshape2包中的API来实现。