Как я могу удалить имена строк, вставленные в таблицу 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()