Как я могу удалить имена строк, вставленные в таблицу pander?

Я использую knitr пакет для производства некоторых основных таблиц. Я отображаю первые n строк таблицы на одном слайде и последние n строк той же таблицы на следующем слайде. я использую head() а также tail() чтобы получить первый и последний ряды.

С помощью head() производит то, что я ожидаю:

library(dplyr)
library(pander)

data.frame(a = sample(LETTERS, 10), 
           b = sample(LETTERS, 10)) %>%
head(5) %>% 
pander()   

Производит

-------
 a   b 
--- ---
 G   B 

 I   P 

 N   H 

 U   W 

 V   A 
-------

но

data.frame(a = sample(LETTERS, 10), 
           b = sample(LETTERS, 10)) %>%
tail(5) %>% 
pander()

производит

----------------
     a   b 
-------- --- ---
 **6**    Y   B 

 **7**    F   O 

 **8**    B   H 

 **9**    R   Y 

 **10**   W   X 
----------------

и я не могу удалить имена строк из финальной таблицы.

Верхний ответ здесь предполагает, что Pander удаляет имена строк из таблицы, когда они 1:n но здесь они начинаются с 1, поэтому они не удаляются автоматически.

Как я могу предотвратить отображение номеров строк? Я пытался использовать select() а также ОБНОВЛЕНИЕ от этого вопроса безрезультатно.

2 ответа

Если вы не хотите, чтобы имена строк отображались, вы можете удалить их, используя rownames(df) <- NULL (после tail) но я не знаю, как использовать это в трубе. Одним из способов взлома было бы преобразование в тиббл, а затем обратное преобразование во фрейм данных (потому что тиббл не хранит имена строк, но вы не можете использовать pander на тибле видимо)

data.frame(a = sample(LETTERS, 10), 
           b = sample(LETTERS, 10)) %>%
  dplyr::as.tbl() %>%
  tail(5) %>% 
  as.data.frame() %>%
  pander()

Вы, вероятно, хотите открыть вопрос на учетной записи GitHub pander

Еще один хак использует срез:

library(dplyr)
library(pander)

data.frame(a = sample(LETTERS, 10), 
           b = sample(LETTERS, 10)) %>%
  slice(n()-5:n()) %>% 
  pander()
Другие вопросы по тегам