我开始使用R formattable包,但仍然存在一些问题,要让formattable()块正确地输出pdf文档。

第一个问题:应用仅适用于数字类的color_*函数后,如何以百分比格式显示数字?

R环境中执行/运行的代码参见下表。

a<-formattable(x=a,list(A=color_bar("orange", 0.2),B=color_bar("orange", 0.2),C=color_bar("orange", 0.2),D=color_bar("orange", 0.2),E=color_bar("orange", 0.2)))

假设acsv输入的read.csv()文件。

r - 如何将R formattable呈现为pdf输出以及如何在表中包含百分比-LMLPHP

我想将“%”粘贴到数字上,同时粘贴formattable中的橙色条,但是如果我通过numeric中的percentpercent() formattable将scale转换为paste(a,"%",sep=""),将无法正常工作,因为需要numeric

第二个问题:渲染为pdf时,无法正确创建所呈现块中的此类表。我试图通过formattable(a,list...)print(a)使用print(xtable(a))的直接输出,但没有任何效果。有什么提示吗?

最佳答案

问题的第一部分的解决方案:

df <- data.frame(
  id = 1:10,
  A = sample(20:80, 10),
  B = sample(1:1000, 10),
  C = sample(1:10, 10),
  D = percent(runif(10, 0, 1), format = "d"),
  E = percent(runif(10, 0, 1), format = "d"),
  stringsAsFactors = FALSE)

formattable(df, list(
  A = color_tile("black", 0.2),
  B = color_tile("pink", 0.2),
  C = color_tile("orange", "gray"),
  D = color_tile("blue", 0.2),
  E = color_tile("green", 0.2)))

有关更多信息,请参见文档:https://github.com/renkun-ken/formattable

关于pdf呈现-您始终可以将表格设为“htmlwidget”,然后将其制成pdf打印屏幕。在R中,您可以尝试使用此函数(source):
#' Export a Formattable as PNG, PDF, or JPEG
#'
#' @param f A formattable.
#' @param file Export path with extension .png, .pdf, or .jpeg.
#' @param width Width specification of the html widget being exported.
#' @param height Height specification of the html widget being exported.
#' @param background Background color specification.
#' @param delay Time to wait before taking webshot, in seconds.
#'
#' @importFrom formattable as.htmlwidget
#' @importFrom htmltools html_print
#' @importFrom webshot webshot
#'
#' @export
export_formattable <- function(f, file, width = "100%", height = NULL,
                               background = "white", delay = 0.2)
{
  w <- as.htmlwidget(f, width = width, height = height)
  path <- html_print(w, background = background, viewer = NULL)
  url <- paste0("file:///", gsub("\\\\", "/", normalizePath(path)))
  webshot(url,
          file = file,
          selector = ".formattable_widget",
          delay = delay)
}

关于r - 如何将R formattable呈现为pdf输出以及如何在表中包含百分比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34983822/

10-12 17:11