【发布时间】:2019-05-01 01:41:04
【问题描述】:
我正在为我的 shinyApp 使用美妙的包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)
)
)
这很好用,但我希望将 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 的表格?
【问题讨论】:
-
在
data.frame中调用,尝试使用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)` -
我仍然得到第二列删除的相同结果。我认为是 formattable() 中的东西导致它下降,而不是其中的数据框。
-
对不起,我正在评论对 data.frame 的调用,因为您似乎再次通过分配将其改回。我认为该函数只需要一个唯一的列名
标签: r formattable