2017-06-30 11 views
0

私はknitrパッケージを使用して基本的なテーブルを作成しています。私は最初のnの表を1つのスライドに表示し、最後のnの行を次のスライドの同じ表に表示しています。最初と最後の行を取得するのにhead()tail()を使用しています。パンダテーブルに挿入された行名を削除するにはどうすればよいですか?

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 
---------------- 
を生成します。 head()を使用して

は、私が何を期待生成します

最終テーブルから行名を削除することはできません。

The top answer hereは、1:nのときにPanderがテーブルから行の名前を削除することを示していますが、ここでは1から始まるので自動的に削除されません。

行番号が表示されないようにするにはどうすればよいですか?私はを使用して、UPDATEthis questionから使用しないようにしてみました。

答えて

2

rownamesを表示したくない場合はrownames(df) <- NULLtail以降)を使用して削除することができますが、これをパイプでどのように使用するのか分かりません。 一つのハックは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

pander

別のハックのgithubアカウントの問題は、スライスを使用しています。 'as.tbl()'と 'as.data.frame()'を含めています。しかし、もっと良い方法があるはずです。 – Steven

1

はおそらく開きたいですどちらかのパイプ演算子でNULL` - ええ、私は `rownames(DF)<を使用する方法を見つけ出すことができませんでした

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

関連する問題