📜  如何在 R 中聚合多个列?(1)

📅  最后修改于: 2023-12-03 15:24:21.333000             🧑  作者: Mango

如何在 R 中聚合多个列?

在数据分析中,聚合多个列通常是非常必要的,可以通过各种方法实现,如dplyr, reshape2等。

dplyr

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

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来实现。