小编Yih*_*Xie的帖子

在RStudio升级1.0.44后,opts_knit $ set(root.dir = path)不起作用

我升级到RStudio 1.0.44,似乎knitr :: opts_knit $ set(root.dir = path)其中path是我的目录不像以前那样工作.它抛出一条消息:

The working directory was changed to /... inside a notebook chunk. The working
directory will be reset when the chunk is finished running. Use the knitr
root.dir option in the setup chunk to change the the working directory for
notebook chunks.
Run Code Online (Sandbox Code Playgroud)

此消息现在将出现在以下每个命令中.请注意,我还没有编织rmd.我只是在运行命令.通过setwd()直接在命令行中设置工作目录会返回getwd()中的正确路径,但是再次加载具有相对路径(./ ...)的文件将返回上面的消息.RStudio 0.99.896完全相同的rmd工作正常.我错过了什么?

sessionInfo()

R version 3.3.0 (2016-05-03)  
Platform: x86_64-w64-mingw32/x64 (64-bit)  
>Running under: Windows 7 x64 (build 7601) Service Pack 1  

other attached packages:
[1] scales_0.4.0     ggplot2_2.1.0    xtable_1.8-2     data.table_1.9.6  
[5] dplyr_0.4.3 …
Run Code Online (Sandbox Code Playgroud)

r working-directory rstudio knitr

5
推荐指数
1
解决办法
4067
查看次数

更灵活的引文格式

我喜欢在我的 r bookdown 项目中使用引文。

格式不是很灵活,我可以使用@citeID 获取“作者(年份)”或[@citeID] 获取“(作者年份)”。

有时我只需要“(Year)”或“Year”,或者我可能只需要“Author Year”,根本不需要括号。

最后,我需要添加对引文的页面引用,例如“作者(年份:页面)”

任何人都可以给我一个提示,相关代码在源代码中的位置,以便我可以开始添加一些上述引用格式?

markdown r pandoc r-markdown bookdown

5
推荐指数
1
解决办法
262
查看次数

更改表格标题的位置 (tufte_handout)

这是一个 R -> Latex 问题。\n我使用 tufte_handout

\n\n

我需要将全角表格的标题放在表格下方的页边距中,因为表格太宽了。

\n\n

表格/标题冲突示例

\n\n

这是 Rmarkdown 文件

\n\n
---\ntitle: "Untitled"\nauthor: "A. Nonymous"\ndate: "19/8/2017"\nheader-includes:\n   - \\usepackage{array}\noutput:\n  tufte::tufte_handout:\n    citation_package: natbib\n    keep_tex: yes\n    latex_engine: xelatex\n---\n\n```{r setup, include=FALSE}\nlibrary(tidyverse)\nlibrary(tibble)\nlibrary(knitr)\nlibrary(kableExtra)\nlibrary(tufte)\n\nknitr::opts_chunk$set(echo = TRUE)\n\noptions(knitr.table.format = "latex") \n```\n\n\n# table\n\n\n```{r table-1, fig.fullwidth=T, echo=FALSE}\n\ntmp <- tibble(`long titre de texte de colonne` = 1:3, \n              `encore un long titre de colonne` = 101:103,\n       `c\'est tr\xc3\xa8s long l\xc3\xa0 aussi (trop)`=31:33, \n       `mais pourquoi est-ce si long ? (oui, pourquoi?)`=c("a","b","b"))\ntmp <- as.data.frame(tmp)\n\nknitr::kable(tmp,booktabs=TRUE,caption="test de test de table, mais c\'est …
Run Code Online (Sandbox Code Playgroud)

r knitr r-markdown tufte bookdown

5
推荐指数
1
解决办法
1856
查看次数

Fig.width knit 选项的最大可接受值

的最大可接受值是多少fig.width?看起来传递超过 12 的值是无效的。我一直在测试 HTML 输出的图形高度和宽度的不同值。我确保宽度值始终不小于高度。

r knitr r-markdown

5
推荐指数
1
解决办法
1913
查看次数

表情符号不会编织到 PDF

如果我cat("\U001F615")在 Mac 上的 RStudio 的命令行上运行,它会显示表情符号。但是,如果我将它 (Rmd) 编织成 pdf,则会收到以下错误消息:

!包 inputenc 错误:Unicode 字符 \u8:未设置为与 LaTeX 一起使用。

有关说明,请参阅 inputenc 包文档。输入 H 以获得即时帮助。...

l.144 \end{逐字}

尝试使用--latex-engine=xelatex. 潘多克:

生成 PDF 错误错误:pandoc 文档转换失败,错误 43 执行暂停

但是如果我这样做latex_engine: xelatex,我不会收到错误消息,但编织的 pdf 仍然没有显示表情符号。有人可以帮助我如何编织到带有表情符号显示的 PDF 吗?

pdf xelatex emoji knitr r-markdown

5
推荐指数
1
解决办法
774
查看次数

如何在R Markdown的YAML元数据中创建多级字典?

使用单级列表/字典来参数化rmarkdown文档时:

---
params:
  first_level: ~
---

```{r}
params
```
Run Code Online (Sandbox Code Playgroud)

和针织返回预期的

## $first_level
## NULL
Run Code Online (Sandbox Code Playgroud)

我无法使用多级列表/字典作为编织

---
params:
  first_level:
    second_level: ~
---

```{r}
params
```
Run Code Online (Sandbox Code Playgroud)

生产Error: no value field specified for YAML parameter 'first_level' Execution halted,我期待的地方

## $first_level
## $first_level$second_level
## NULL
Run Code Online (Sandbox Code Playgroud)

是否真的只支持一个级别列表或者我搞砸了什么?

正如我在下面评论的那样,可以使用预期的输出来实现

---
params:
  first_level: !r list(second_level = NULL)
---

```{r}
params
```
Run Code Online (Sandbox Code Playgroud)

但是为什么要用yaml它代替参数化代码块呢?

yaml r rstudio knitr r-markdown

5
推荐指数
1
解决办法
207
查看次数

在书本图形环境中包含TikZ代码

我想在bookdown文档中添加TikZ图形,以便包含一些精美的图形。

我的主要输出格式是LaTeX,这意味着我基本上可以在Rmarkdown文件中逐字包含TikZ图形,并且可以很好地呈现。但是,有两个问题困扰着我:

  • 我希望TikZ图形成为图形环境的一部分(用于编号,标题等)。
  • 我希望能够将相同的代码呈现给PDF(LaTeX)和Gitbook(HTML)。

现在,我有以下块,当我将其渲染为pdf时,可以很好地生成相关图形。

```{r, echo=FALSE, engine='tikz', out.width='90%', fig.ext='pdf', fig.cap='Some caption.'}
\begin{tikzpicture}[scale=.7]
\draw [fill=gray!30,very thick] (0,-1) rectangle (5,1);
\draw [very thick] (5, 0) -- (13,0);
\node [below] at (2,-1) {\large Hello};
\node [below, align=center] at (0,-1) {\large Two\\ lines};
\end{tikzpicture}
```
Run Code Online (Sandbox Code Playgroud)

但是,代码有两个问题:

  1. 渲染到gitbook时,我没有得到任何输出(使用knitrbookdown)。但是,我确实获得了图形标题,如果我渲染到html_document它,那么它也可以工作,并且我可以看到图形。
  2. 对于PDF,使用计算机现代字体呈现文本。我真的很想更改此设置,并且LaTeX文档中的主要字体已经设置为其他字体。但是,由于代码是由TikZ引擎本地渲染然后插入的,因此它不是完整LaTeX文档的一部分。我可以呈现代码之前添加一些TikZ引擎包含的LaTeX选项,软件包等吗?

如果还有其他方法可以将TikZ代码作为图形环境的一部分包含在内,那么我很高兴知道。

更新:我猜第二点可以通过设置文件中engine.opts = list(template = "latex/tikz2pdf.tex")包含LaTeX的必要设置的位置来解决tikz2pdf.tex。该文件是使用LaTeX读取的,但xelatex由于要使用fontspecLaTex软件包,因此我想使用该文件进行解析。仍然可以更改吗?

r knitr r-markdown bookdown tikzdevice

5
推荐指数
1
解决办法
980
查看次数

knitr::kable 输出代码而不是漂亮的表格

我最近更新到 R 3.5.0 和 RStudio 1.1.453,现在我的 kable 功能无法正常工作。

当我复制并粘贴代码和输出时,您会看到:

library(knitr)
fakedata<-data.frame(Species = c(1:8), Sites = sample(1:25, 8, replace = TRUE), Positives = sample(1:100,8, replace=TRUE))
kable(fakedata)


| Species| Sites| Positives|
|-------:|-----:|---------:|
|       1|    22|        79|
|       2|    25|        97|
|       3|    19|        28|
|       4|    15|        22|
|       5|     9|        97|
|       6|    14|        71|
|       7|     1|        70|
|       8|    21|        83|
Run Code Online (Sandbox Code Playgroud)

我根本没有收到任何错误,无论有没有 Rmarkdown,输出都是相同的。我还重新安装了 MiKTeX。

当我将它编织到文档中时,输出只是空白,同样没有错误。

还有其他人有这个问题吗?有没有我错过的另一个更新?

谢谢

r knitr kable

5
推荐指数
1
解决办法
1043
查看次数

使用 expss 在 R Marksdown 中格式化表格

我有在格式化使用一些表格一些麻烦expss的一个R Markdown。输出是一个pdf文件。knitr选项是:

knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE)
Run Code Online (Sandbox Code Playgroud)

跟随小插图expss(可在此处获得https://cran.r-project.org/web/packages/expss/vignettes/tables-with-labels.html),我编写了以下代码:

sl_expss_long %>%  # the tibble
  calc_cro_cpct(
    cell_vars = list(br, cl, cm, fgm, vd), # rows
    col_vars = list(total(), area) # columns
  ) %>% 
  set_caption("Table 1")
Run Code Online (Sandbox Code Playgroud)

此代码在 中运行良好R Studio,并生成此表:

 Table 1                                                                                    
 |                                      |              |  #Total |   Area |        |
 |                                      |              |         |  Rural |  Urban |
 | ------------------------------------ | ------------ | ------- | ------ | ------ …
Run Code Online (Sandbox Code Playgroud)

markdown r knitr expss

5
推荐指数
1
解决办法
540
查看次数

Bookdown:如何使脚注中的引用出现在章节参考文献中?

我被要求澄清这个问题,希望这更清楚。

使用 bookdown 构建书籍时,脚注中的引用不会出现在特定章节的参考文献部分,但会出现在书籍末尾的全局参考文献中。下面的例子。

# Introduction {#intro}

Lorem ipsum.

You can write citations, too. For example, we are using the **bookdown** package [@R-bookdown] in this sample book, which was built on top of R Markdown and **knitr** [@xie2015].

This is a citation [@johndoe2020a].[^note1]

Citations in footnotes in line doesn't work either^[This is another footnote that contains a citation @bobjohnson2018]

The citations in the footnotes do not show up in the end of chapter references section (right below this line), but …
Run Code Online (Sandbox Code Playgroud)

r bookdown

5
推荐指数
0
解决办法
410
查看次数