私は動的なrmarkdown文書の作成に取り組んでいます。最終結果は、データ内の各「分類」のためのタブを作成する必要があります。各タブには、DTパッケージのデータテーブルが印刷されている必要があります。以下は、私が使用しているコードです:私は、DataTableの機能に直接呼び出しをコメントアウトしているrmarkdownでループするときにdatatableが印刷されないのはなぜですか?
---
output: html_document
---
# Setup{.tabset}
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(knitr)
library(DT)
```
```{r data.setup}
set.seed = 1242
rows = 64
data.1 = runif(rows, 25, 75)
data.2 = runif(rows, .01, 1)
data.3 = runif(rows, 1, 10)
classification = c("A", "B", "C", "D")
df = data.frame(cbind(data.1 = data.1, data.2 = data.2, data.3 = data.3, classification = classification))
df$data.1 = as.numeric(df$data.1)
df$data.2 = as.numeric(df$data.2)
df$data.3 = as.numeric(df$data.3)
```
```{r results= 'asis'}
for(j in levels(df$classification)){
df.j = df[df$classification == j, ]
cat(paste("\n\n## Classification: ", j, "##\n"))
w = datatable(df.j)
#datatable(df.j)
print(w)
}
```
お知らせは、それらはrmarkdownする印刷ませんでした。書かれた呼び出しの結果は正しいタブを持つhtmlドキュメントを生成しますが、そこにはデータテーブルはありません。さらに、データセットは実際にはRStudioセッションで正しいサブセットで表示されます。テストとして、knitrのkable関数を使用して目標を達成しようとしましたが、テーブルは適切なタブに印刷されました。残念ながら、kableは必要な機能をすべて備えていません。
+1私はシンプルなソリューションのために広範囲に検索してきたし、これはそれでした。 3番目のチャンクでは 'datatable(df [1、]) 'と入力することができます。 @yihuiがなぜこれが必要なのか分かっているのだろうか? – bouncyball