首页 > 解决方案 > 在 R 中创建数据透视表

问题描述

我正在尝试在 R 中创建一个数据透视表。

我知道对于类似的问题有很多不同的问题,但我已经尝试了他们的解决方案,但它们似乎不起作用。

那么,你能帮我从这个数据框中获取

物种 站1 站2 站3
物种1 5 5 5
物种2 10 52 0
物种4 0 3 8
物种2 20 15 5
物种3 4 5 5
物种2 6 9 2
物种1 5 10 5

到这个数据框

物种 站1 站2 站3
物种1 10 15 10
物种2 36 76 7
物种4 0 3 8
物种3 4 5 5

谢谢您的帮助!

标签: rsumpivot

解决方案


看来我们的基础 R 用户正在成为 SO 的垂死品种。这是一种无需添加任何额外软件包的单行解决方案。

xy <- read.table(text = "Species    Station1    Station2    Station3
Species1    5   5   5
Species2    10  52  0
Species4    0   3   8
Species2    20  15  5
Species3    4   5   5
Species2    6   9   2
Species1    5   10  5", sep = "\t", header = TRUE)

aggregate(. ~ Species, data = xy, FUN = sum)

    Species Station1 Station2 Station3
1 Species1        10       15       10
2 Species2        36       76        7
3 Species3         4        5        5
4 Species4         0        3        8

推荐阅读