R formattable () предотвращает удаление столбцов с похожим именем - PullRequest
1 голос
/ 01 мая 2019

У меня есть простая проблема, на которую, я думал, я смогу найти ответ ...

Я использую замечательный пакет 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'
    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)
                )
    )

enter image description here

Это работает хорошо, но я хотел бы столбец 'n.1'быть названным 'n'.Когда я переименовываю имя столбца от n.1 до n и запускаю тот же код для создания таблицы, последний столбец сбрасывается из ... Кажется, что отображается только первый столбец любого столбца с повторяющимися именами.

names(df)[5] <- "n"
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 Ответ

1 голос
/ 01 мая 2019

Если это просто вопрос отображения, вы можете добавить пробел к имени второго столбца 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

Надеюсь, вы найдете его полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...