2017-06-30 41 views
0

我正在使用knitr包生成一些基本的表。我在下一張幻燈片上顯示了一張幻燈片中的第一行n行和最後一行的n行。我使用head()tail()來獲取第一行和最後一行。如何刪除插入到pander表中的行名?

使用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 
---------------- 

我無法從最終表中刪除行名稱。

The top answer here表明,當他們是1:n時,Pander會從表中刪除行名,但在這裏,它們以1開頭,所以它們不會自動刪除。

如何防止顯示行號?我試過使用select()以及使用更新this question無濟於事。

回答

2

如果你不想顯示rownames,你可以使用rownames(df) <- NULL(在tail之後)刪除它們,但我不知道如何在管道中使用它。 一個黑客將轉換爲tibble,然後重新轉換爲數據幀(因爲tibbles不存儲rownames,但你不能在tibbles使用pander顯然):

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

呀,我無法弄清楚如何使用'rownames(DF)<:在github帳戶的pander

另一個黑客的問題是使用切片。包括'as.tbl()'和'as.data.frame()'現在可用。儘管如此,還是有更好的辦法。 – Steven

1

你可能想打開無論是與管道運營商NULL` -

library(dplyr) 
library(pander) 

data.frame(a = sample(LETTERS, 10), 
      b = sample(LETTERS, 10)) %>% 
    slice(n()-5:n()) %>% 
    pander() 
+0

更簡化的黑客。 [已打開的問題](https://github.com/Rapporter/pander/issues/301)。 – Steven

相關問題