2017-06-25 12 views
1

Rコードを単一のヘッダを付加:R - knitr:KABLE - 個々のヘッダを除去し、Rmarkdownファイルに複数の列に

col1 <- c("dummydata","dummydata","dummydata") 
col2 <- c("dummydata","dummydata","dummydata") 
col3 <- c("dummydata","dummydata","dummydata") 
col4 <- c("dummydata","dummydata","dummydata") 
col5 <- c("dummydata","dummydata","dummydata") 
col6 <- c("dummydata","dummydata","dummydata") 
col7 <- c("dummydata","dummydata","dummydata") 
col8 <- c("dummydata","dummydata","dummydata") 

df1 <- data.frame(col1,col2,col3,col4,col5,col6,col7,col8) 

kable(df1, format="html",table.attr='class="myTable"') %>% 
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>% 
add_header_above(c("Group1" = 2, "Group2" = 2,"Group3" = 2, "Group4" = 2)) 

出力:FlexDashBoard Kable - Dataframe as Table

問題:私は合成列のヘッダはグループ1、すなわち欲しいです、Group2などです。そして、個々の列、つまりcol1、col2などでヘッダーを削除したいとします。

これはデータフレーム、html/javascript、Rmarkdown、または任意のRパッケージを使用する方法はありますか?

答えて

1

このような問題が頻繁に発生する場合は、正規表現とgsub関数に慣れてください。 「X < - 」ここ

が解決され、最初の行は、によって強化コードの最後の行である

x <- kable(df1, format="html",table.attr='class="myTable"') %>% 
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>% 
add_header_above(c("Group1" = 2, "Group2" = 2,"Group3" = 2, "Group4" = 2)) 

gsub("</th></tr><tr>.*</thead>","</thead>",x) 

次のように動作GSUB:と交換し、最初のパラメータに一致するものを探し変数に代入して3番目のパラメータとして指定します。最初のパラメータ内のドットスター(。*)は、3番目のパラメータで閉じられる前に、任意のタイプと文字数が続くことを示します。アルゴリズムは最も魅力的な文字列を見つけることを貪欲にしています。この入力パラメータには1つしかないので、ここでうまくいきます。

+0

ありがとうございました。私は実際に正規表現(基本)を知っています。私が苦労しているのは、RmdファイルがHTMLファイルを生成することです。そして、正規表現を適用するためにそのhtmlファイルを使用していますか? – urwaCFC

+1

うん、それは基本的にどのように動作するか、あなたが望むものとそれをどうやって行うかによる。 – Jan

関連する問題