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

时间:2019-05-01 01:41:04

标签: r formattable

我有一个简单的问题,我认为我可以找到...的答案

我正在为我的ShinyApp使用出色的软件包std::thread::hardware_concurrency()。这是我遇到的问题的简化示例:

formattable()

enter image description here

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

    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'
    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)
                )
    )

如何在表名中同时显示带有“ n”的表?

关于, 卢克

1 个答案:

答案 0 :(得分:1)

如果只是显示问题,可以在第二个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

希望您发现它有用。