【问题标题】:How do you remove the cell label from your table?如何从表格中删除单元格标签?
【发布时间】:2020-03-11 11:10:36
【问题描述】:

我正在尝试利用 expss 来自动化目前通过 R 在 Excel 中完成的一些报告。我通常需要汇总一些相对于某些字段(列)的分组(行)中的许多值。我发现很难摆脱单元格描述。

这是一个例子:

animals <- data.table(
  animal = c(1, 1, 2, 2, 3, 3, 4, 4),
  standing = c(1, 2, 1, 2, 1, 2, 1 ,2),
  height = c(50, 70, 75, 105, 25, 55, 10, 20)
)

animals <- expss::apply_labels(
  animals,
  animal = "animal",
  animal = c("cat" = 1, "dog" = 2, "turtle" = 3, "rat" = 4),
  standing = "standing",
  standing = c("no" = 1, "yes" = 2),
  height = "height"
)

expss::expss_output_viewer()

animals %>%
  expss::tab_cells(height) %>%
  expss::tab_cols(animal) %>%
  expss::tab_rows(standing) %>% 
  expss::tab_stat_sum(label = "") %>%
  expss::tab_pivot()

您会看到“身高”被打印为标签,请问我该如何摆脱它?

谢谢!

【问题讨论】:

    标签: expss


    【解决方案1】:

    “|”分配为标签抑制标签和变量名称:

    library(expss)
    animals <- data.table(
        animal = c(1, 1, 2, 2, 3, 3, 4, 4),
        standing = c(1, 2, 1, 2, 1, 2, 1 ,2),
        height = c(50, 70, 75, 105, 25, 55, 10, 20)
    )
    
    animals <- expss::apply_labels(
        animals,
        animal = "animal",
        animal = c("cat" = 1, "dog" = 2, "turtle" = 3, "rat" = 4),
        standing = "standing",
        standing = c("no" = 1, "yes" = 2),
        height = "|"  # to suppress label
    )
    
    expss::expss_output_viewer()
    
    animals %>%
        expss::tab_cells(height) %>%
        expss::tab_cols(animal) %>%
        expss::tab_rows(standing) %>% 
        expss::tab_stat_sum(label = "") %>%
        expss::tab_pivot()
    

    【讨论】:

    • 这适用于 stat 的名称,但是这个例子中出现的术语“cell_var”呢:htmlTable(mpg %&gt;% tab_rows(model) %&gt;% tab_cols(drv) %&gt;% tab_stat_sum() %&gt;% tab_pivot())
    • @Ben cell_var 是链中缺少的术语 tab_cells 的默认值。 tab_rows 用于表行,tab_cols 如您所见,列,tab_cells 是我们计算统计数据的变量。