bookdown book を読みましたが、まだ理解できません。 bookdown
を使用してWordレポートを作成しようとしています。 kableExtra
を使用して、テーブルにストライピングを追加し、最後のテーブル行を太字にします。 Wordに編むときにkableExtra
を使用できますか?
これは私のコードのサブセットです:
library(dplyr)
knitr::opts_chunk$set(echo = TRUE)
library(knitr) # required for kable
library(kableExtra) # required for kableExtra
options(knit.r.table.format = "markdown")
myRegion <- c("a", "b", "c")
Current_Perc_1 <- c(85.9, 90.8, 89.7)
Current_Perc_2 <- c(88.0, 91.0, 89.0)
tab_curr_est_2_times <- cbind(myRegion, Current_Perc_1, Current_Perc_2)
tab_curr_est_2_times <- as.data.frame(tab_curr_est_2_times, stringsAsFactors = FALSE)
tab_curr_est_2_times$Current_Perc_1 <- as.double(tab_curr_est_2_times$Current_Perc_1)
tab_curr_est_2_times$Current_Perc_2 <- as.double(tab_curr_est_2_times$Current_Perc_2)
tab_curr_est_2_times$curr_change_1_to_2 <- tab_curr_est_2_times$Current_Perc_2 - tab_curr_est_2_times$Current_Perc_1
tab_1_curr <- tab_curr_est_2_times
tab_1_curr[ nrow(tab_1_curr)+1 , ] <- NA
tab_1_curr$myRegion[ nrow(tab_1_curr) ] <- "BRITISH COLUMBIA"
tab_1_curr$Current_Perc_1[ nrow(tab_1_curr) ] <- 88.4
tab_1_curr$Current_Perc_2[ nrow(tab_1_curr) ] <- 89.3
tab_1_curr$curr_change_1_to_2[ nrow(tab_1_curr) ] <- 0.9
knitr::kable(tab_1_curr, digits = 1, align = "lccc", position = "c",
caption = "\\: my table caption here") %>%
kable_styling("striped") %>%
row_spec(nrow(tab_1_curr), bold = TRUE)
私のブックダウン設定は次のとおりです。
---
title: "My Report"
author: "Me"
date: "`r Sys.Date()`"
site: "bookdown::bookdown_site"
output:
bookdown::Word_document2:
fig_caption: true
documentclass: book
---
RStudioの[ニット]ボタンをクリックすると、次の表が表示されます。
最後の行を太字にし、テーブルをストライプにします。これを行うにはどうすればよいですか? (次のエラーも表示されます:「現在、pandocを使用した一般的なマークダウンテーブルはサポートされていません。」)
Wordへの変換はpandoc
を介して行われます。現在、pandocは4種類のテーブルのみを作成します。
サポートされている形式の一部は、 pander および pandocマニュアル p35-39で説明されています。
したがって、現在pandocを使用してストリップテーブルを作成することはできません。
rmarkdown.rstudio でテーブルを使用する方法の概要もあります。
以下のデビッドからの良いたよりを見てください
これは不可能でしたが、pandoc V2がリリースされているため、パッケージflextable (>= 0.4.0)
(およびpandoc V2)を使用して実行できます。コードの下で、コードチャンクに追加する必要があります。
library(magrittr)
library(flextable)
tab_1_curr <- structure(list(myRegion = c("a", "b", "c", "BRITISH COLUMBIA"
), Current_Perc_1 = c(85.9, 90.8, 89.7, 88.4), Current_Perc_2 = c(88,
91, 89, 89.3), curr_change_1_to_2 = c(2.09999999999999, 0.200000000000003,
-0.700000000000003, 0.9)), .Names = c("myRegion", "Current_Perc_1",
"Current_Perc_2", "curr_change_1_to_2"), row.names = c(NA, 4L
), class = "data.frame")
regulartable(tab_1_curr) %>%
bold(i = ~ myRegion %in% "BRITISH COLUMBIA") %>%
theme_zebra() %>%
autofit()
huxtable
パッケージが利用可能です。 kableExtra
と同様のテーブルカスタマイズツールが含まれています。 huxtable
は、LaTeX/PDFおよびHTMLに出力するように設計されています(kableExtra
と同様)。ただし、huxtable
にはas_flextable
関数も含まれており、ハクスタブルオブジェクトをフレックステーブルオブジェクトに変換します。このオブジェクトはWordに出力できます(上記のDavidが指摘)。多くの検索を行った結果、1つのパッケージでWord、HTML、およびPDF)のすべてに簡単に出力できる唯一の利用可能なパッケージはhuxtable
のように思えます。