我正在尝试使用knitr使用RStudio从.Rmd文件中将以下markdown编织为HTML:
注意:此代码将生成错误,因为您无法访问我正在查询的服务器,但有问题的HTML仍会呈现,我的问题只涉及HTML文件中代码的格式 - 而不是输出来自R.
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代码的格式。我希望传递给sqlQuery()
函数的SQL代码的格式与SQL块中生成的代码类似。但是,根据生成的HTML,knitr似乎没有将字符串中的\n
解释为实际的换行符 - 它只是将其解释为文本。
生成的HTML(对于R chunk)如下所示:
<pre><code class="r">sqlQuery(cn, "select \n count(*) child_count\n ,year(eps_begin) year_plc\n from vw_episodes\n where eps_begin between '2009-01-01' and '2010-12-31'\n and fl_dur_7 = 0\n group by \n year(eps_begin)")
</code></pre>
当我真正想要的是这样的时候:
<pre><code class="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)")
</code></pre>
有关如何编写HTML并仍保留传递给R函数的字符串中的换行符的任何想法?
答案 0 :(得分:2)
更新:当前版本的 knitr 中的块选项tidy
默认为FALSE
,因此它是不再需要设置它(尽管如此,没有任何伤害。)
这是由于使用 formatR 包的default reformatting代码造成的;你可以通过tidy=FALSE
:
```{r tidy=FALSE}