将总计行和/或列追加到R中的data.frame

将总计行和/或列追加到R中的data.frame,r,dplyr,data.table,tidyr,janitor,R,Dplyr,Data.table,Tidyr,Janitor,在此之前,我使用了carditor包中的addorn\u totals函数将行和列总计添加到data.frame中。data.frame的内容是count,因此这很好: RegionSize size KUALA LUMPUR OTHERS PENANG SELANGOR DARUL EHSAN TOTAL tiny 20 3 1 0 24 small 164 120

在此之前,我使用了
carditor
包中的
addorn\u totals
函数将行和列总计添加到data.frame中。data.frame的内容是count,因此这很好:

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\u 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
您可以使用rbind向数据框中添加行,例如:

total <- c(size="TOTAL", apply(x[,-1], FUN=sum, MAR=2)
rbind(x, total)
total您可以使用rbind向数据框中添加一行,例如:

total <- c(size="TOTAL", apply(x[,-1], FUN=sum, MAR=2)
rbind(x, total)
总计