Rstudio无法通过knit Word生成图形

5

我是一名有用的助手,可以为您翻译以下内容:

我似乎发现了RStudio中knit Word命令的奇怪行为。

这个是有效的:

 ```{r qplot, fig.width = 6, fig.height=6, message=FALSE}
 library(ggplot2)
 summary(cars)
 qplot(speed, dist, data = cars) + geom_smooth()
 ````

这不起作用

 ```{r q plot, fig.width = 6, fig.height=6, message=FALSE}
 library(ggplot2)
 summary(cars)
 qplot(speed, dist, data = cars) + geom_smooth()
 ```

返回此消息:
 pandoc.exe: Could not find image `./test_files/figure-docx/q%20plot.png', skipping...

问题似乎出在块的名称上(即qplotq plot)。当块名称中有空格时,绘图无法呈现。
这只似乎影响Word文档的呈现。呈现html没有问题。
我正在使用RStudio 0.98.1028和R3.1.1在Windows 7上。
其他人是否遇到过这种情况?
更新:
块名称后面加一个空格也会引起同样的行为:
这行不起作用。
 ```{r q_plot , fig.width = 6, fig.height=6, message=FALSE}
 library(ggplot2)
 summary(cars)
 qplot(speed, dist, data = cars) + geom_smooth()
 ```

knitr 中,R Chunk 代码 需要具有唯一的 标签 - MYaseen208
好的观点。这是虚拟代码,用于显示错误。在真实代码中使用唯一名称时,我会得到相同的响应。 - Chris
1
在块名称中使用空格失败并不奇怪 - 我猜在knitr文档的某个地方警告不要在块名称中使用空格(以及特殊字符,如/或:和可能的.?)。名称和逗号之间的空格问题更令人惊讶,但答案不是“那就别这么做”吗...?您是否有一个使用案例,其中这是一个真正的问题? - Ben Bolker
1
我快速检查了一下是否有文档记录,但没有找到任何信息。也许是我的谷歌搜索能力不足。虽然这不是一个“真正”的问题,但对我来说很奇怪,在呈现HTML时它不会出错。我在尝试将报告定稿为Word文档时发现了这个“错误”,我一直在HTML中校对它,而且它运行得很好。修复需要重新命名50多个代码块,这有点烦人(更不用说花费一个小时弄清楚原因了)。至少我不会再犯同样的错误了。 - Chris
如果您认为这是一个错误(很可能是),您应该联系软件包的作者。 - Andrie
1
避免在代码块标签和目录名称中使用空格和句号。但是,在我看来,逗号前的空格问题似乎可以合理地解释为一个错误。 - Ben Bolker
2个回答

3
在此提供解决方案以便日后有人遇到类似问题。根据评论中Ben Bolker的建议http://yihui.name/knitr/options,要避免在代码块标签和目录名称中使用空格与句点。这个错误似乎只会影响使用knitWord制作图表的情况。带有包含空格且不含绘图命令的代码块可以正常渲染。而无论代码块标签是否带有空格,使用knitHTML都没有问题。

0
# Let's make a plot
```{r ugly plot}
plot(btc_prices)
```

显然应该是

# Let's make a plot
```{r ugly_plot}
plot(btc_prices)
```

所以不要有空格...否则你会浪费数小时在谷歌和哭泣。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接