3

RStudio を使用して、次のマークダウンを .Rmd ファイルから HTML に編成するために Knitr を使用しようとしています。

注:クエリしているサーバーにアクセスできないため、このコードはエラーを生成しますが、問題のあるHTMLは引き続きレンダリングされ、Rからの出力ではなく、HTMLファイル内のコードのフォーマットに関する質問です.

SQL Code 

```{sql}
select 
  count(*) child_count
  ,year(eps_begin) year_plc
from vw_episodes
where eps_begin between '2009-01-01' and '2010-12-31'
  and fl_dur_7 = 0
group by 
  year(eps_begin)
```

R Code

```{r }
sqlQuery(cn, 
         "select 
                count(*) child_count
                ,year(eps_begin) year_plc
              from vw_episodes
              where eps_begin between '2009-01-01' and '2010-12-31'
                and fl_dur_7 = 0
              group by 
                year(eps_begin)")

```

私の問題は、HTML に編むときの R コードのフォーマットに関するものです。関数に渡される SQL コードをsqlQuery()、SQL チャンクで生成されるコードと同様にフォーマットしたいと考えています。ただし、生成された HTML に基づくと、knitr は\n文字列内の を実際の改行として解釈していないようです。単にテキストとして解釈しているだけです。

結果の HTML (R チャンクの場合) は次のようになります。

<pre><code class="r">sqlQuery(cn, &quot;select \n                count(*) child_count\n                ,year(eps_begin) year_plc\n              from vw_episodes\n              where eps_begin between &#39;2009-01-01&#39; and &#39;2010-12-31&#39;\n                and fl_dur_7 = 0\n              group by \n                year(eps_begin)&quot;)
</code></pre>

私が本当に欲しいのは次のようなものです:

<pre><code class="r">sqlQuery(cn, 
    &quot;select
        count(*) child_count
        ,year(eps_begin) year_plc
    from vw_episodes
    where eps_begin between &#39;2009-01-01&#39; and &#39;2010-12-31&#39;     
        and fl_dur_7 = 0
    group by 
        year(eps_begin)&quot;)
</code></pre>

HTML に編み込んで、R 関数に渡される文字列の改行を保持する方法について何か考えはありますか?

4

1 に答える 1