【问题标题】:Rotate or Angle Rmarkdown Table Column Names旋转或角度 Rmarkdown 表列名称
【发布时间】:2017-06-13 13:42:30
【问题描述】:

我已经搜索和搜索,但找不到合适的示例。我并不是真正的开发人员,所以我可能遇到了我需要的答案,但只是不明白。

我正在使用 R 来操作/分析一些数据,然后使用 flex-dashboard 作为输出在 Rmarkdown 中生成报告。我有一个包含几列的宽表(即,这些列是应用程序名称和数据中心位置,然后我会显示每个站点中每个应用程序的主机名计数)并且想倾斜/旋转其中的一些,以便表格更具可读性并且更适合页面。

我不接受任何一种解决方案;我已经使用 kable、xtable、htmltable 等寻找答案,但似乎找不到我需要的东西。我只是想把一些表格的列名转一个角度。

我没有提供任何可重现的数据,因为它不是关于数据,而是关于表格输出的格式。寻找任何建议。非常感谢。

【问题讨论】:

  • 您仍然应该制作一些最少的东西以尊重他人的时间和精力,这样他们就不必在自己的时间为您模拟完整的解决方案。

标签: r rstudio r-markdown flexdashboard


【解决方案1】:

如果您的表有数千行,我不推荐pixiedust,因为随着表的增长,字符串操作可能需要很长时间。但如果你不到几百,这应该是一个合理的选择。

library(shiny)
library(pixiedust)

options(pixiedust_print_method = "html")

shinyApp(
  ui = shinyUI(
    fluidPage(
      uiOutput("table")
    )
  ),

  server = shinyServer(function(input, output, session){

    output$table <- 
      renderUI({
        dust(mtcars) %>%
          sprinkle_colnames(mpg = "Miles per Gallon",
                            cyl = "Cylinders") %>%
          sprinkle(rotate_degree = -45,
                   height = 70,
                   height_units = "pt",
                   part = "head") %>%
          sprinkle(pad = 3) %>%
          medley_bw() %>%
          print(asis = FALSE) %>%
          HTML()
      })
  })
)

【讨论】:

  • 本杰明,谢谢。正如你所说,我不需要帮助塑造数据,只需旋转标题文本。您的解决方案效果很好,谢谢。一个后续行动,有没有一种方法可以旋转某些列名,但不能旋转其他列名。例如,在您的示例中,将“每加仑英里数”保留为“平”,但将其余标签设为 45%?
  • sprinkle 函数采用 rowscols 参数指定哪些单元格应该被更改。例如,您可以使用sprinkle(cols = c(3, 5, 7), rotate_degree = -45),并且只有第三、第五和第七列会受到影响。详情请参阅?sprinkle
  • 完美。我会试试看。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多