【问题标题】:Why is xltabr not running?为什么 xltabr 没有运行?
【发布时间】:2021-10-27 02:57:37
【问题描述】:

xltabr 似乎是在 R 中创建 excel 列联表的唯一方法。

我正在尝试使用这个写出一个应急选项卡来 Excel,但是 auto_crosstab_to_wb 命令已经运行了一个多小时没有结果。 (我看到控制台上的红色图标表示它仍在运行)。我现在意识到这与我的工作室/包有关,因此很难重现该问题。

请参阅此处了解重现 xltabr 问题所需的代码:

    devtools::install_github("moj-analytical-services/xltabr")
    library(reshape2)
    library(Rcpp)
    iris
    ct <- reshape2::dcast(iris, Sepal.Length ~ Species, fun.aggregate = length, value.var = "Sepal.Length")
    wb <- xltabr::auto_crosstab_to_wb(ct) # this is the line taking hours to run
  1. 知道为什么会发生这种情况(仅对我而言)吗?我更新了我所有的包,但仍然没有区别。我还能做些什么来调试这个?我没有看到任何警告,所以真的很莫名其妙。
  2. 是否有任何其他功能允许将多个列联表写入 excel 或 csv?这很有帮助:crosstable() export to csv 但我必须运行附加数百个表,我知道这是real pain to do in R.

【问题讨论】:

  • 无法复制。在不到一秒钟的时间内为我工作。
  • 你试过包 {crosstable} 吗?它似乎会做你想做的事,并且它带有导出到 Excel 的功能。您可以在文档中阅读更多内容:github.com/DanChaltiel/crosstable
  • @Dan Chaltiel Crosstable 不能写入 excel 可以吗?这是我的主要问题......我需要我的 excel 输出
  • 我运行了你的代码,只花了几秒钟,我不知道为什么在你的电脑上要花这么长时间。但是,结果完全不是我所期望的,您的 iris 示例的预期输出究竟是什么?值得注意的是,crosstable::crosstable() 可以轻松导出到 excel,但我不知道 xltabr

标签: r


【解决方案1】:

这是使用包{crosstable}的解决方案。

免责声明:我是这个包的作者。

您的代码正在根据Species 的值计算Sepal.Length 的所有值的列联表。默认情况下,crosstable 将考虑 Sepal.Length 数字,因此您必须使用 unique_numeric=Inf 来覆盖该行为。另外,crosstable默认会计算比例,你可以使用margin=-1来防止这种情况。

您可以在the documentation 中搜索更多选项。

这是结果。我使用as_flextable() 输出一个 HTML 表格,它在 StackOverflow 上更具可读性,但您不必这样做。

library(crosstable)
crosstable(iris, Sepal.Length, by=Species, unique_numeric=Inf, margin=-1) %>% as_flextable()

wb = crosstable(iris, Sepal.Length, by=Species, unique_numeric=Inf, margin=-1) %>% as_workbook()
openxlsx::saveWorkbook(wb, "crosstable.xlsx")

但是,您的示例对我来说意义不大,您真的想将数字变量视为分类变量吗?我认为在交叉表中使用默认值更有意义,因此可以计算摘要(您可以根据需要选择):

crosstable(iris, Sepal.Length, by=Species) %>% as_flextable()

reprex package (v2.0.1) 于 2021 年 10 月 26 日创建

【讨论】:

    【解决方案2】:

    我卸载并重新安装了 R studio,并更新了每个包。由于某种原因,这似乎解决了问题。

    【讨论】:

      猜你喜欢
      • 2015-10-16
      • 2020-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 2021-08-04
      • 2015-04-25
      相关资源
      最近更新 更多