【发布时间】:2020-10-26 18:45:29
【问题描述】:
以前,我使用 janitor 包中的 addorn_totals 函数将行和列总计添加到 data.frame。 data.frame 的内容是计数的,所以很好:
RegionSize
size KUALA LUMPUR OTHERS PENANG SELANGOR DARUL EHSAN TOTAL
tiny 20 3 1 0 24
small 164 120 20 90 394
medium 100 69 0 0 169
big 0 293 106 0 399
TOTAL 284 485 127 90 986
现在我正在处理一个 data.frame,其中每个单元格都是一个比例。我需要总行和列,但在这种情况下不能使用addorn_totals,因为操作的顺序返回错误的值。
所以我有三个单独的表:
Summary
size KUALA LUMPUR OTHERS PENANG SELANGOR DARUL EHSAN
1 tiny 0.000 0.000 0.000 0.000
2 small 435.344 245.598 333.317 272.342
3 medium 187.874 9656.649 0.000 0.000
4 big 0.000 116.861 138.366 0.000
RegionTotals
experience region1
1: 156.523 PENANG
2: 272.342 SELANGOR DARUL EHSAN
3: 343.998 KUALA LUMPUR
4: 296.601 OTHERS
SizeTotals
experience size
1: 0.000 tiny
2: 348.692 small
3: 136.207 big
4: 223.415 medium
overallTotal
experience
1: 276.613
考虑到区域和大小可能会发生变化,我如何才能实现以下结果?例如,有时我不会有区域“其他”或大小“大”,具体取决于我获得的数据。我怎样才能做到这一点:
Summary
size KUALA LUMPUR OTHERS PENANG SELANGOR DARUL EHSAN TOTAL
1 tiny 0.000 0.000 0.000 0.000 0.000
2 small 435.344 245.598 333.317 272.342 348.692
3 medium 187.874 9656.649 0.000 0.000 223.415
4 big 0.000 116.861 138.366 0.000 136.207
5. TOTAL 343.998 296.601 156.523 272.342 276.613
【问题讨论】:
标签: r dplyr data.table tidyr janitor