【发布时间】:2014-10-10 07:19:05
【问题描述】:
我有一个大型数据集,我想重塑和聚合,但遇到了一些困难。
例如,考虑以下情况,其中引号分隔数据库中的列。因子为year、habitat、site 和replicate。 species 和 biomass 字段是数据:
"year" "habitat" "site" "replicate" "species" "biomass"
2010 inner a 1 sp.1 10
2010 inner a 1 sp.3 6
2010 inner a 1 sp.1 5
2010 inner a 1 sp.2 8
2010 inner a 1 sp.4 4
2010 inner a 1 sp.5 7
2010 inner a 2 sp.3 5
2010 inner a 2 sp.2 6
2010 inner a 2 sp.5 2
2010 inner a 2 sp.1 5
2010 inner a 3 sp.4 5
2010 inner a 3 sp.3 4
2010 inner a 3 sp.6 8
2010 inner a 3 sp.2 5
2010 outer b 1 sp.1 6
2010 outer b 1 sp.3 9
2010 outer b 1 sp.3 3
2010 outer b 1 sp.2 6
2010 outer b 2 sp.5 4
2010 outer b 2 sp.1 5
2010 outer b 2 sp.1 7
2010 outer b 2 sp.2 5
2010 outer b 3 sp.4 2
2010 outer b 3 sp.6 5
2010 outer b 3 sp.2 4
2010 outer b 3 sp.1 4
我想做的是在保留所有因素的同时重塑和汇总我的表格。因此,species by site 矩阵能够将因子和聚合保持在复制级别。我在下面包含了一张我想要的示例图片,其中数据使用 Excel 数据透视表填充了“总和”函数。 R 中是否有使用dplyr 和组的简单代码? tapply 和 aggregate?
year habitat site replicate sp.1 sp.2 sp.3 sp.4 sp.5 sp.6
2010 inner a 1 15 8 6 4 7 0
2010 inner a 3 0 5 4 5 0 8
2010 outer b 1 6 6 12 0 0 0
2010 outer b 2 12 5 0 0 4 0
2010 outer b 3 4 4 0 2 0 5
【问题讨论】:
-
为了帮助回答者,我建议使用
dput来制作它,这样我们就可以将 R 对象数据示例直接复制/粘贴到我们的工作区中。在标题“复制您的数据”下查看第一个答案:stackoverflow.com/questions/5963269/…
标签: r dataset aggregate reshape