如何使用类似于Excel的R格式化数据布局

问题描述 投票:0回答:1

我需要使用R dataframe格式化数据,然后将其放入excel中。

要在 Excel 中实现此目的,我会这样做:

  1. 创建数据透视表
  2. 转到设计-->报表布局-->以表格形式显示
  3. 进入PolicyLayer栏-->字段设置-->布局和打印-->勾选“显示标签” 从下一个领域...”
  4. 转到“PolicyNumber”列并检查小计为“无”

但是我如何使用 R 来实现这一点呢? 我应该尝试操作数据框中的数据然后加载到 Excel 吗?

或者我应该先将原始数据放入excel中,然后使用R进行excel格式化?

这是我的 df:

df <- data.frame(
  CatNumber = c("CTE00555", "CTE00555", "CTE00555"),
  PolicyLayer = c("Multi Layer Policy #", "Multi Layer Policy #", "Multi Layer Policy #"),
  PolicyNumber = c("SBA1", "SBA2", "SBA3"),
  Insured= c("DisneyCo", "DisneyCo", "DisneyCo"),
  GrossP = c(35000, 4000, 1000),
  GrossComm = c(9000, 1000, 200)
)

df 输出如下所示:

CatNumber   PolicyLayer          PolicyNumber   Insured    GrossP   GrossComm
CTE00555    Multi Layer Policy #    SBA1       DisneyCo    35000    9000
CTE00555    Multi Layer Policy #    SBA2       DisneyCo    4000     1000
CTE00555    Multi Layer Policy #    SBA3       DisneyCo    1000     200

需要格式化布局并将其加载到Excel:

CatNumber   PolicyLayer          Insured        Sum of GrossP    Sum of GrossComm
CTE00555    Multi Layer Policy #                   40000          10200
              SBA1               DisneyCo          35000          9000
              SBA2               DisneyCo          4000           1000
              SBA3               DisneyCo          1000           200

这就是 Excel 中的样子:

enter image description here

r excel rstudio
1个回答
0
投票

如果您想在数据集中添加总计,您可以执行以下操作:

df %>% bind_rows(., (.) %>% summarise(.by = c(CatNumber, PolicyLayer), across(where(is.numeric), sum)))

通常,在 R 中,数据框的单元格内没有嵌套信息。

© www.soinside.com 2019 - 2024. All rights reserved.