R formattable() 防止删除具有相似名称的列

标签 r formattable

我正在为我的 Shiny 应用程序使用精彩的包formattable()。这是我遇到的问题的简化示例:

library(formattable)

df <- data.frame(
    ID = LETTERS[1:4], 
    `2018` = c(0.5, 0.9, 0.8, 0.4), 
    n = c(88, 44, 55, 66), 
    `2019` = c(0.9, 0.8, 0.7, 0.4), 
    n = c(78, 84, 54, 25))

names(df)[2] <- '2018'
names(df)[4] <- '2019'

formattable(
  df, align = c("l", "r", "l", "r", "l"),
  list(
    `2018` = function(x) percent(x, digits = 1),
    `2019` = function(x) percent(x, digits = 1)
  )
)

enter image description here

这效果很好,但我希望将 n.1 列命名为 n。当我将 n.1 的列名称重命名为 n 并运行相同的代码来创建表时,最后一列会下降...似乎只有显示任何具有重复名称的列的第一列。

names(df)[5] <- "n"

formattable(
  df, align = c("l", "r", "l", "r", "l"),
  list(
    `2018` = function(x) percent(x, digits = 1),
    `2019` = function(x) percent(x, digits = 1)
  )
)

如何在列名称中显示带有 n 的表格?

最佳答案

如果只是显示问题,您可以在第二个n列的名称中添加一个空格(使用check.names = FALSE),如下:

df <- data.frame(ID     = LETTERS[1:4], 
                 `2018` = c(0.5,0.9,0.8,0.4), 
                 n      = c(88,44,55,66), 
                 `2019` = c(0.9,0.8,0.7,0.4), 
                 `n `   = c(78,84,54,25), 
                 check.names = FALSE)

df

formattable(df,
            align=c("l", "r", "l", "r", "l"),
            list(
              `2018` = function(x) percent(x, digits = 1),
              `2019` = function(x) percent(x, digits = 1)
            )
)

这将为您提供所需的输出:

output

希望您觉得它有用。

关于R formattable() 防止删除具有相似名称的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55930684/

相关文章:

使用插入符号包运行 cforest with controls = cforest_unbiased()

r - 根据奇数行或偶数行更改 color_bar 颜色,R 表

Powershell pscustomobject 格式表新行而不是一行

r - 如何在 Shiny 的仪表板中使用 R 包 "formattable"?

loops - Powershell自定义对象-不传递foreach变量

R 时间段重叠

r - 将行添加到数据框中,并包含组内数据的总和

r - R中有没有办法用两个轴绘制图例?

R ggplot2 : Labelling a horizontal line on the y axis with a numeric value

r - 使用 formattable 根据另一列的值对一列进行着色