【问题标题】:R: table1 outputR:表1输出
【发布时间】:2020-08-20 15:45:32
【问题描述】:

几天前,我发现 table1 库来获得漂亮的表格。

唯一的一个问题(对我来说),它的输出是一个 HTML 表格。我正在使用 rtf 库将 R 表导出到 word,但我不知道如何将此输出表 (HTML) 导出到 word 。

我想知道是否存在一些获得不同输出的可能性。或转换为 R 表的不同方式。我没有使用 R-studio。

提前致谢。

library(table1)

table1(~mpg| carb*am,data = mtcars)

【问题讨论】:

  • 来自github repo 包:“用于在 HTML 中生成描述性统计表的 R 包”。如果你想要别的东西,也许你可以在#1(2017 年 1 月)和#17(2019 年 6 月)的问题上投票。
  • 作为替代方案,gt “支持 HTML 输出,未来计划使用 LaTeX 和 RTF”(来自网站)。 (PDF 还不稳定,但有些人仍然能够在 PDF 中毫无问题地使用它,因此 “for the future” 表明稳定性和稳健/一致的行为,而不是它不目前正在工作。)
  • 谢谢我得到信息!

标签: r html-table


【解决方案1】:

请注意,您可以使用其他一些软件包对输出进行更多控制。在下面的示例中,我使用的是 Tplyr 和记者。 Tplyr 生成统计信息,reporter 将创建 RTF。它比 table1 需要更多的工作。但是您会获得更多类型的统计数据和报告。您基本上可以制作任何安全报​​告。

library(Tplyr)
library(reporter)

dt <- tplyr_table(mtcars, am) %>% 
  add_layer(group_count(cyl)) %>% 
  add_layer(group_desc(mpg)) %>% 
  build() 


tbl <- create_table(dt, show_cols = c("ord_layer_index", "row_label1", 
                                      "var1_0", "var1_1")) %>% 
  stub(c("ord_layer_index", "row_label1"), label = "Variables") %>% 
  define(ord_layer_index, label = "Variable", label_row = TRUE,
         format = c("1" = "Cylinders",
                    "2" = "Miles Per Gallon"), 
         dedupe = TRUE, blank_after = TRUE) %>% 
  define(row_label1, label = "", indent = .25) %>% 
  define(var1_0, label = "Automatic", align = "center", n = 19) %>% 
  define(var1_1, label = "Manual", align = "center", n = 13) 

pth <- file.path(tempdir(), "test1.rtf")

rpt <- create_report(pth, 
                     output_type = "RTF",
                     orientation = "portrait") %>% 
  titles("Table 1.0", 
         "Characteristics of MTCars by Transmission Type",
         "Population: All Cars") %>% 
  set_margins(top = 1, bottom = 1) %>% 
  add_content(tbl)

write_report(rpt)

file.show(pth)

这是 RTF 输出:

【讨论】:

    【解决方案2】:

    感谢@r2evans 提供的信息,我可以得到一个 R 表,也许我丢失了一点格式但是当我用 rtf 库导出到 word 时没问题:

    library(rvest)
    library(table1)
    
    tbl_1=table1(~mpg| carb*am,data = mtcars)
    as.data.frame(read_html(tbl_1) %>% html_table(fill=TRUE))
    

    【讨论】:

    • 请注意,从 table1 的 1.4 版开始,您不再需要 rvest。这将起作用:as.data.frame(tbl_1)
    猜你喜欢
    • 2020-10-26
    • 1970-01-01
    • 2020-02-06
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 2021-06-22
    • 1970-01-01
    相关资源
    最近更新 更多